Teacher Training

Advanced Android – Architecture with Dagger 2 and more .


  • Intermediate development experience
  • Development environment capable of running Android Studio (Windows/Linux/Mac)


Hello everyone and thank you for your interest in Android!

Android development has a lot of great benefits, such as low barrier to entry, low cost to be a published developer, and of course, being able to run your creations on millions of devices.

Developing a maintainable and testable application that is easy to add new features to can be difficult. It requires thinking ahead about the of your application and getting beyond the “just make it work” stage. This is something I personally find the most fun about development, however. My goal is to help you get into the same mindset and teach you about patterns that will accomplish the previously mentioned items.

This course is an intermediate course, so familiarity with the Android development process will help greatly. It will move quickly, but advanced concepts will be explained thoroughly. That said, we will be building an application from the very beginning, so by following along, no matter what your skill level, you will be able to complete this course and have a fully functioning Android app with the kind of architecture that you would hope to see in an enterprise level project. That’s not to say that all companies have applications with great architecture (if only we developers could be so lucky), but after this course you will be able to identify if a project doesn’t—and have an idea on how to fix it!

Here are some of the things you will learn in this course:

  • Dependency Injection with
  • Making network requests with Retrofit
  • Unit testing with Junit and Mockito
  • Using test doubles in Espresso tests with Dagger 2
  • MVP / MVVM architecture (yes, a mixture! Read below for details) using Reactive View Models

In regards to the MVP / MVVM architecture point:

The classic software architecture patterns are baseline frameworks attempting to describe how layers of your software communicate with each other. It is important to remember that forming the patterns to what works best for you is the key; as long as you follow basic software architecture principles, any architecture is a good architecture! In this course you will learn how using Reactive View Models with Presenters can help you separate responsibilities and make your application much easier to test.

With all that said I’m excited to get started showing you how to create applications that will make your life, and those of the developers following you, easier and more enjoyable!

Who this course is for:

  • Anyone who wants to learn how to create apps with an easy to maintain, testable architecture.
  • Android developers looking to learn more advanced techniques.
  • Android developers interested in dependency injection and why it’s so popular.
  • Android developers wanting to understand RxJava, and Reactive Programming in general.

Created by Brandon Gogetap
Last updated 8/2018
English [Auto-generated]

Size: 1.07 GB



Back to top button