Architect Android apps with MVP, Dagger, Retrofit & RxJava
3.8 (295 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,406 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.
3.8 (295 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,406 students enrolled
Last updated 8/2017
Curiosity Sale
Current price: $10 Original price: $195 Discount: 95% off
30-Day Money-Back Guarantee
  • 4 hours on-demand video
  • 2 Articles
  • 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
  • Basic information about software development processes
  • Desire to learn something new and continuous improvement

Developing Apps 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 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
37 Lectures
Welcome and introduction
3 Lectures 07:46

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

About us

Special discount for current students

Special discount for current students
The changing face of app development (moved)
1 Lecture 00:20
Changing face of app development (moved)
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

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

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

MVP project - overview

MVP in action - dependency injection

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

Dependency injection - introduction

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

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

MVP project - setup

MVP project - implementation

MVP project - debugging session

Test your knowledge: MVP in action - I
4 questions
MVP in action-II
14 Lectures 01:35:33
Quick checkin

Learn the tools we will need.

MVP in action - tools and frameworks

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

JUnit and Mockito - setup unit testing

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

JUnit and Mockito - unit testing continued

Retrofit - introduction

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

Retrofit - setup

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

Retrofit - in action

Reactive programming - introduction

Reactive programming - introduction continued

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

RxJava - introduction

Easy thread jumping with RxJava. 

RxJava - schedulers

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

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

RxJava - operators

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

Butterknife - introduction

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

Demo app - introduction

Setting up the MVP layers for the final application.

Demo app - setup MVP layers

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

Demo app - Dagger and Retrofit setup

Revisiting what we built and how we achieved it. 

Demo app - walkthrough

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

Demo app - debugging session
Changing Face Of App Development
1 Lecture 11:10
Changing face of mobile app development

Test your knowledge: The changing face of app development
2 questions
2 Lectures 02:08
Conclusion and Thank you!

Special discount for current students

Bonus Lecture: Special discount for current students
About the Instructor
Manuj Aggarwal
4.1 Average rating
2,021 Reviews
25,753 Students
17 Courses
Technology Leader | Innovator | Teaching 24,000+ students

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
3.8 Average rating
294 Reviews
1,406 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.

TetraTutorials Team
4.1 Average rating
1,988 Reviews
25,592 Students
15 Courses

At TetraNoodle Technologies and its education arm - TetraTutorials, we work with several startups and build small to very high scale cloud solutions every day. We know what it takes to do this well. 
We strive to put all our hands-on experience into these courses. Instead of superficial knowledge - we go into the depth of the topic and give you the exact - step by step blueprint on how to tame these complex topics in easy and digestible bite-sized videos. This real world knowledge enables you to grasp these concepts easily, and you can apply this learning immediately into your projects.

TetraNoodle technologies has been in the software business since 2001. We have been part of many prestigious projects and startups. Over the course of these years - we have gained a good insight into what makes for flexible, scalable and robust software solutions. We are passionate about sharing all our collective knowledge with you. As of mid-2017, we have already taught over TWENTY FIVE THOUSAND students and counting.