Architect Android apps with MVP, Dagger, Retrofit & RxJava
4.2 (190 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,062 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Architect Android apps with MVP, Dagger, Retrofit & RxJava to your Wishlist.

Add to Wishlist

Architect Android apps with MVP, Dagger, Retrofit & RxJava

Learn software architecture skills. Build apps with Model-View-Presenter pattern. Make apps more robust and fun.
4.2 (190 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,062 students enrolled
Last updated 2/2017
English
Learn Fest Sale
Current price: $10 Original price: $195 Discount: 95% off
2 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 4 hours on-demand video
  • 1 Article
  • 5 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build and architect Android apps using MVP pattern
  • Understand dependency injection and Dagger 2
  • Understand Gradle build system
  • Understand unit testing and JUnit for Android apps
  • Understand mocking objects using Mockito
  • Understand type-safe REST API client called Retrofit
  • Understand reactive programming and RxJava
  • Understand the MVP UI pattern
View Curriculum
Requirements
  • Basic information about software development processes
  • Desire to learn something new and continuous improvement
Description

Developing Apps is fun.....is it not? It’s really exciting to take an idea from the back of a paper napkin all the way to the App Store!


It is Not only fun but also lucrative. There are tremendous opportunities available out there for app developers and designers all over the world. 


Android offers an excellent platform for developing and delivering apps. Most of you might already be working on this platform. If so, you would know, Android platform and mobile app industry as a whole has a remarkable future ahead. 


Smartphones enable us to do a lot these days, from shopping our clothes, booking movie tickets, to ordering groceries and getting them delivered right to our doorsteps. It is hard to believe – but even after all these advancements – there is still a lot of paper-based work happening in the workplace and everyday lives. There are still untapped opportunities and workflows which need to move to the mobile platform. If you have a good idea – the world is your oyster. You can change the way how people live their lives by introducing a compelling app.


You may be working as a freelancer or may have a full-time job as an app developer or architect. Whether you create one app a year or multiple apps in a month - there must have been times when you got tired of looking at long strings of code tangled together into a spaghetti-like mess. 


This is particularly painful if you have to inherit a legacy code base and you have to add features to it or fix bugs.


Make your life easier and building apps fun...............by learning tried and tested software architectural patterns. 


In this course – you will Get a detailed and behind the scenes look at Model-View-Presenter (MVP) pattern, which helps make code simple and clean. You also get familiar with other fundamental concepts like dependency injection, reactive programming, unit testing, mock objects which assist you throughout the app development lifecycle. Learn frameworks like Dagger 2, Retrofit, RxJava, Junit, Mockito and others.


Gain valuable skills of architecting apps in a flexible and scalable manner. Advance your career and work on more cutting edge projects out there.

Who is the target audience?
  • Mobile and Web App Developers
  • Software Architects
  • Tech Founders and Co-Founders (Technical or Non-Technical)
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 37 Lectures Collapse All 37 Lectures 04:10:53
+
Welcome and introduction
5 Lectures 08:53

A brief background about the instructor for this course - Architect flexible Android apps with MVP pattern

Preview 02:05

About the instructor - Rene
00:49

A few guidelines for the learners of this course - Architect flexible Android apps with MVP pattern

Preview 00:58

Special discount for current students

Preview 01:02
+
The changing face of app development
1 Lecture 11:10
Changing face of mobile app development
11:10

Test your knowledge: The changing face of app development
2 questions
+
Model-View-Presenter (MVP) pattern
2 Lectures 22:21

In this module, we get more technical and examine how the MVP architecture might prove to be the answer that Android developers seek.

Preview 10:26

Introduction to MVP continued
11:55

Test your knowledge: MVP pattern
5 questions
+
MVP in action-I
8 Lectures 48:28

In this session we will start to lay the foundation of demo projects in Android Studio to understand the concepts and techniques discussed so far in Architect flexible & scalable Android apps with MVP pattern

MVP pattern in action
02:49

Quick walk-through of the MVP architecture with the help of a simple demo project in Android Studio

MVP project - overview
05:04

MVP in action - dependency injection
06:04

You will understand what the fancy term Dependency Injection is and that you are doing this almost every day.

Dependency injection - introduction
04:05

You will now how to set up Dagger 2 in the Application class and the necessary interfaces that are required.

Dependency injection - setup Dagger 2
04:12

You will know how to program to an interface and how the different components of MVP are interacting together.

MVP project - setup
09:42

MVP project - implementation
12:53

MVP project - debugging session
03:39

Test your knowledge: MVP in action - I
4 questions
+
MVP in action-II
13 Lectures 01:34:14

Learn the tools we will need.

MVP in action - tools and frameworks
06:03

You will write your first unit tests on the fast JVM.

JUnit and Mockito - setup unit testing
10:02

You will write more advanced junit test methods to cover your presenter logic.

JUnit and Mockito - unit testing continued
07:52

Retrofit - introduction
02:01

The basic setup of Retrofit and how to make it work with Dagger 2.

Retrofit - setup
09:09

You will be able to set up retrofit and consume a real world api and display the information the user.

Retrofit - in action
15:09

Reactive programming - introduction
03:04

Reactive programming - introduction continued
08:11

Demystifying RxJava and learn how to take your development career to the next level. 

RxJava - introduction
03:22

Easy thread jumping with RxJava. 

RxJava - schedulers
08:56

You will learn how to add RxJava and RxAndroid to your project. You will also combine Retrofit with RxJava for easy callback handling.

RxJava - setup
13:37

Learn what RxJava operators are see how you can filter results taken from a remote API.

RxJava - operators
05:37

Finally get rid off findViewById() and have a cleaner onCreate() with easy clickListeners.

Butterknife - introduction
01:11

Test your knowledge: MVP in action - II
7 questions
+
Putting it all together
6 Lectures 01:04:04

Combine everything we learnt and build a modern Android Application from scratch. 

Putting it all together
06:16

Demo app - introduction
08:17

Setting up the MVP layers for the final application.

Demo app - setup MVP layers
11:58

Moving on to add more boilerplate code for Dagger 2 and Retrofit. 

Demo app - Dagger and Retrofit setup
08:12

Revisiting what we built and how we achieved it. 

Demo app - walkthrough
16:27

Checking step by step what is going on and how data is flowing throughout the app. 

Demo app - debugging session
12:54
+
Conclusion
2 Lectures 02:08
Conclusion and Thank you!
00:59

Special discount for current students

Bonus Lecture: Special discount for current students
01:09
About the Instructor
Manuj Aggarwal
4.1 Average rating
1,248 Reviews
14,518 Students
15 Courses
Technology Leader | Innovator | Advisor | Entrepreneur | CTO

I'm an entrepreneur, investor and a technology enthusiast. I like startups, business ideas, and high-tech anything. I like to work on hard problems and get my hands dirty with cutting edge technologies. In the last few years, I've been a business owner, technical architect, CTO, coder, startup consultant, and more.

Currently, I am the principal consultant, architect and CTO of a software consulting company TetraNoodle Technologies based in Vancouver, Canada. We work with various startups on some cutting edge and interesting problems. Whether it is ideation and refining of your startup idea or building a dream team to execute on the idea - we provide a diverse set of solutions which help these startups succeed in their plans.

I have been in the software industry since 1997 and I have worked with early stage businesses to Fortune 100 mega corporations.

With proficiency in creating innovative architectures and solutions, I have emerged as a professional who knows how to balance these solutions against cost, schedule, function, quality, and other business considerations.

I am passionate about sharing all my knowledge that I have acquired over the years. I am particularly interested in helping technical and non-technical entrepreneurs, founders and co-founders of tech startups. I will strive to bring courses which provide practical know-how and advice about designing, architecting, optimizing and executing on your next big idea.

Let us connect on Linkedin or Twitter!

Rene Gens
4.2 Average rating
189 Reviews
1,062 Students
1 Course
Android Engineer

Rene Gens has been an Android Developer for over two years making the first steps through Udemy. His journey after Udemy was to embrace better code principles and build better Android Applications. Rene Gens is specializing in the industry tools that make Android development fun, robust and maintainable.

Currently he is a working developer, co-founder of a start up and a part time freelancer.

If you want to learn all the pro tools like Dependency Injection, RxJava and many more you are at the right place.