Dependency Injection in Android with Dagger 2 and Hilt
- Description
- Curriculum
- FAQ
- Reviews
With this course you’ll learn what dependency injection is, understand how it affects the architecture of your Android applications and master Dagger and Hilt dependency injection frameworks. This is a comprehensive resource, aimed to equip you with an expert-level Android development knowledge and skills.
Even though the ultimate goal of this course is to make you comfortable with Dagger, you’ll also learn about so-called Pure Dependency Injection. That’s when you incorporate dependency injection into your Android applications without using any third-party libraries. Pure Dependency Injection is important and useful technique and, in addition, mastering Pure DI will allow you to see what Dagger brings to the table and appreciate its features.
-
Professional grade
-
From fundamentals to best practices
-
Non-trivial examples
-
Hands-on exercises
-
Tutorial Android application on GitHub with step-by-step commits history for easier review
Many developers spend weeks and even months learning Dagger, and some still give up on it. This course will spare you a lot of time because you won’t need to figure out Dagger on your own. You’ll also learn the associated best practices, so you’ll be protected from the most common mistakes and won’t shoot yourself in the foot. All technical solutions demonstrated in this course were tested in many professional projects and produced 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.
-
14Extraction of the User Interface Logic into MVC View
-
15Exercise 1
-
16Base Class for MVC Views
-
17Extraction of the Domain Logic into Use Case
-
18Exercise 2
-
19Extraction of the Dialogs Management Logic into Dialogs Navigator
-
20Extraction of the Navigation Logic into Screens Navigator
-
21Model View Controller (MVC) Architectural Pattern
-
22Sharing an Instance of a Service among Multiple Clients
-
23Removing Unneeded "Proxy" Dependencies
-
24The Law of Demeter
-
25Refactoring the Use Case According to the Law of Demeter
-
26Exercise 3
-
27Application Composition Root
-
28Lazy Initialization of Services
-
29Activity Composition Root
-
30Exercise 4
-
31Exercise 4 Solution
-
32Runtime Construction Arguments
-
33Extraction of MVC Views Construction Logic into a Factory
-
34Exercise 5
-
35Presentation Composition Root
-
36Tutorial Application Refactoring Summary
-
44Dagger 2
-
45Gradle Configuration
-
46Components and Modules
-
47Exercise 6
-
48Scopes
-
49Component as Injector
-
50Dependent Components
-
51Exercise 7
-
52Subcomponents
-
53Exercise 8
-
54Multi-Module Components
-
55Automatic Discovery of Services
-
56Provider Methods in Modules vs Automatic Discovery
-
57Workflow with Dagger
-
58Dagger Tutorial Summary
-
64ViewModel
-
65Incorrect ViewModel Integration
-
66Dedicated Factories for ViewModels
-
67Refactoring ViewModel Factories According to the Law of Demeter
-
68Centralized Factory for ViewModels
-
69Multibinding
-
70ViewModel with SavedState
-
71Why ViewModel is So Complex
-
72Simplification of ViewModel with SavedState