Dependency Injection in Android with Dagger 2
4.6 (170 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
687 students enrolled

Dependency Injection in Android with Dagger 2

Learn the fundamental theory of Dependency Injection and use Dagger 2 to develop clean Android applications
Best Seller
4.6 (170 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
687 students enrolled
Created by Vasiliy Zukanov
Last updated 9/2018
English
English
30-Day Money-Back Guarantee
Includes
  • 2.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Interactive Features
This course offers interactive exercises and downloadable resources. Learn more.
  • 1 Downloadable resource
Training 5 or more people?

Get your team access to Udemy's top 2,500+ courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Discover the full power of Dependency Injection architectural pattern
  • Integrate Dagger 2 into your Android applications

  • Structure Dependency Injection in Android apps for best long-term maintainability

  • Understand the fundamental principles of proper Dependency Injection
  • Learn why you need dependency injection frameworks
  • Implement Pure Dependency Injection without any third-party frameworks
Curriculum For This Course
40 Lectures
02:20:15
+
Fundamental Dependency Injection Techniques
5 Lectures 12:36
Fundamental Dependency Injection Techniques
04:36
Best Fundamental Dependency Injection Technique
01:34
Udemy Course Review Popup
01:07
+

Dependency Injection Architectural Pattern

3 Lectures 08:55
Architectural Patterns
02:37
Dependency Injection Architectural Pattern vs Fundamental Techniques
03:00
+

Journey To Dependency Injection

12 Lectures 40:59
Decoupling Business Logic from UI and Networking Logic
07:04
Decoupling Dialogs Management Logic
03:07
Sharing an Instance of a Service between Multiple Clients
02:37
Law of Demeter
04:05
Composition Root
02:04
Presentation Composition Root
05:22
Factory
02:19
Pure Dependency Injection
02:55
Convention Over Configuration
04:37
Preventing Multiple Injections
01:00
Dependency Injection Frameworks
01:17
+
Dagger 2 Tutorial
13 Lectures 44:30
Adding Dagger Dependency to the Project
00:37
Application Component
10:04
Presentation Component
05:09
Presentation Component as Injector
03:53
Dependent Components
03:46
Subcomponents
04:23
Multi Module Components
02:57
Automatic Service Discovery
01:56
Providing Context
02:22
Injection into Fragments and Dialogs
02:15
Service Component
02:11
Summary
03:07
+
ViewModel
5 Lectures 28:49
ViewModel
04:52
ViewModelFactory
12:23
ViewModelFactory Cleanup
03:09
ViewModelFactory Cleanup Using Dagger 2 Multibindings
05:21
ViewModel Summary
03:04
+
Course Summary
2 Lectures 04:26
Course Summary
03:01
Bonus Lecture: Course Coupons and Social Links
01:25
Requirements
  • Hands-on experience with Android development (preferably 6 months or more)
  • Knowledge of Java
  • A desire to write clean and maintainable code
Description

Many professional Android developers use Dagger 2 dependency injection framework to build clean and maintainable Android applications. Unfortunately, even though dependency injection is one of the most fundamental and beneficial architectural patterns in object-oriented design, it isn't used nearly enough in Android world.

In my opinion, the main reason for underemployment of Dependency Injection in general and Dagger 2 specifically in Android apps is that neither of them is simple to learn and understand without high quality tutorials, which are very rare.

After completing this course you'll know what dependency injection is and how to use Dagger 2 dependency injection framework. You'll understand that dependency injection is not about frameworks, annotations, reflection or code generation, but about the fundamental design and architecture of your Android apps. 

You'll realize that dependency injection is not black magic and that all real-world Android applications, even the simplest ones, can benefit from it.

Even though the end goal of this course is to teach you Dagger 2, I will also show you how to implement so-called Pure Dependency Injection in Android without using any third-party libraries at all. This will allow you to understand and appreciate the role of dependency injection frameworks in the grand scheme of things.


  • Professional grade 

  • From fundamentals to best practices

  • Optimized for experienced Android developers

  • Non-trivial examples

  • Concise

  • Source code on GitHub with step-by-step commits history for easier review


Just like any other tool, dependency injection frameworks can be very helpful in Android development, or be misused. Therefore, while there are many alternative ways to use Dagger 2 in your applications, not all of them are equally good.

This course will spare you lots of time because you'll learn to use Dagger 2 in Android applications to achieve the best structure optimized for long term maintainability. I've been using this approach in all my personal and professional projects during the last couple of years, and I can attest first hand that it produces outstanding results.

So, if you want to learn what dependency injection is and how to use Dagger 2 to develop clean and maintainable Android applications - this course is for you.

I can’t wait to see you inside.

Who is the target audience?
  • Professional Android developers
Students Also Bought These Courses