Dependency Injection with Dagger 2
PowerAdapter - A Dependency Injection driven RecyclerView Adapter
Autoplay
Up next
Previous
About
Writing RecyclerView Adapters is tedious. Writing adapters that support multiple view types is even more tedious.
This lesson shows an example of how to create a RecyclerView adapter that delegates rendering to “renderers” that you provide it via dependency injection. No matter how many different types of items you have in your data set, the adapter never changes.
Instructor
Links
Comments
Lessons in Dependency Injection with Dagger 2
1. Intro to Dependency Injection - Simple example with no DI
01:47
2. Intro to Dependency Injection - Dependency Injection in Practice

00:35
3. Why we use Dependency Injection

01:59
4. How Dependency Injection frameworks help

00:37
5. What we're building - Final Product

01:04
6. Creating the GitHub Browser Project

01:45
7. Creating the Application Component Interface

01:10
8. Building the Application Component

01:02
9. Dagger codegen: Inspecting the generated Application Component

00:47
10. Adding the GitHubApi Module

02:01
11. Creating a Dagger 2 Module

02:36
12. Creating the AppRepository - The single source of data for the UI

Pro
02:47
13. Dagger codegen: Checking in on the generated Application Component

Pro
02:41
14. Unit Testing the AppRepository

Pro
03:07
15. Feature: Home Screen

Pro
01:55
16. Home Screen Repository List Setup

Pro
04:40
17. Home Screen ViewModel

Pro
04:34
18. Injecting a Jetpack ViewModel

Pro
03:14
19. Exposing Singleton Dependencies in a Modular Way

Pro
02:34
20. Home Screen Component

Pro
04:01
21. Dagger codegen: Component Dependencies

Pro
03:16
22. Dagger codegen: Multibindings

Pro
02:31
23. Dagger codegen: @Binds, @Provides, and Modules

Pro
03:03
24. Matching Dagger Component Scopes with ViewModel Scopes

Pro
04:07
25. Unit Testing HomeViewModel

Pro
04:14
26. Displaying fake data in the Home Fragment

Pro
03:39
27. Espresso tests and Dagger: Modularizing ApplicationComponent

Pro
02:39
28. Espresso tests and Dagger: Adding the TestApplicationComponent

Pro
04:42
29. Espresso tests and Dagger: Adding the Test Application and Runner

Pro
01:49
30. HomeFragment Espresso Test

Pro
03:56
31. Retrofit integration: Suspend Functions

Pro
03:49
32. Retrofit integration: Preparing for the real GitHub API

Pro
04:00
33. Retrofit integration: Swapping mock GitHubApi with implementation created by Retrofit

Pro
04:11
34. Dagger Modules: Build variants/flavors

Pro
01:46
35. Dagger codgen: Effects of Module changes

Pro
02:19
36. Feature: Repo Details Screen

Pro
01:20
37. Repo Details Component

Pro
01:55
38. RepoDetails ViewModel Part 1

Pro
01:40
39. Dagger codegen: Qualifier Annotations

Pro
01:30
40. Extending GitHub API: Single repository fetch

Pro
01:31
41. AppRepository updates: Caching and new request

Pro
01:19
42. AppRepository Unit Test Updates

Pro
02:05
43. Repo Details Contributors List Setup

Pro
01:29
44. Repo Details View States

Pro
02:12
45. Repo Details ViewModel Test

Pro
01:35
46. Hooking up RepoDetailsFragment with View States

Pro
01:43
47. RepoDetailsFragment Espresso Test

Pro
02:34
48. Preparing for screen navigation

Pro
04:08
49. Activity Scoped Component

Pro
01:43
50. Activity Screen Navigator

Pro
02:04
51. Fake ScreenNavigator: A fake navigator for tests

Pro
01:12
52. Navigating from the Home screen to the Details screen

Pro
03:36
53. Dagger codegen: Walking through all the layers

Pro
06:03
54. PowerAdapter - A Dependency Injection driven RecyclerView Adapter

Pro
01:32
55. Using PowerAdapter for the Home screen

Pro
03:37

Something went wrong
Lesson added to playlist
Create new playlist
Name can't be empty