Udemy

Advanced Android - Architecture with Dagger 2 and more

Enroll Now
  • 3,647 Students
  • Updated 8/2018
4.1
(560 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
7 Hour(s) 47 Minute(s)
Language
English
Taught by
Brandon Gogetap
Rating
4.1
(560 Ratings)

Course Overview

Advanced Android - Architecture with Dagger 2 and more

Learn to build production-grade Android apps, not just make them "work"

Hello everyone and thank you for your interest in Advanced 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 architecture 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 architecture 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 Dagger 2

  • 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!

Course Content

  • 10 section(s)
  • 90 lecture(s)
  • Section 1 Introduction
  • Section 2 Creating the project
  • Section 3 Setting up Dagger
  • Section 4 Our First Screen
  • Section 5 Unit Testing
  • Section 6 UI Testing with Espresso
  • Section 7 Handling Screen Navigation and using a Repository
  • Section 8 More UI Testing Tricks
  • Section 9 Gradle Tasks
  • Section 10 Debug Drawer and Live Mock Responses

What You’ll Learn

  • Build an Android app with an easy to maintain and testable architecture. (Hint: Not everything belongs in Activities/Fragments!)
  • Setup a project with dependency injection using Dagger 2.
  • Understand RxJava and how to architect Android applications with Reactive Programming in mind.
  • Use Reactive View Models to make unit testing UI possible and make handling view state more straightforward.
  • Use mock data to be able to run and test your app without needing network access
  • Use Dagger 2 to swap test versions of your dependencies during Espresso/UI tests


Reviews

  • H
    Henriko Oberholzer
    4.0

    Very good and clean code. Above my expectations of first looking at it. Did not like the quiz parts but considering there are no big test at the end I think it is actually a better implementation. Thanks for your time man.

  • A
    Abul Hashem
    1.0

    This course is the worst course I have ever taken in Udemy! Not because it's complicated but because how he teaches! There is no way someone who has no prior knowledge about Dependency Injection would understand what hell he's teaching! I wanted to get my money back! But it's not refundable because I got his another waste of time useless course for free. A good teacher would explain clearly and show how to run android project using dagger. But what he does here is totally unbelievable! He connects tons of third party libraries for at least 10 hours!. To be honest I don't even remember what he was using cause I was totally lost! What would made this course a great course is if he would run the application right after setting up the dagger, show us how it's working and use few example such as using button to navigate between activities with dagger setup. Anyone who wants to learn Dagger stay away from this course. You will lose the courage to even use dagger in your life! I won't even recommend this course to my worst enemy. Like few other students mentioned, it seems like he was reading off from the Wikipedia or something. But I think it was his project just to show off and get a job I don't know, all I know that it's just terrible!!!

  • S
    Stefan Wyszyński
    4.0

    The instructor is very professional but the information presented is to difficult to understand and follow :/. There should be more details about dagger 2 usage, controller testing, and app flow.

  • C
    Clemens Sietas
    5.0

    The complex topics Dagger, Retrofit, RxJava and even more are very well explained! All code worked very well up to the final section. I re-typed everything. All 100% took me about 100 net hours. It was hard work, but definitely worth the effort. Thanks so much! Brandon's future courses will be an observable for more - I subscribed to it ... in a backgroud thread ;-)

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed