Dependency Injection with Dagger 2
Home Screen Repository List Setup
Autoplay
Up next
Previous
About
The home screen will display a list of repositories from GitHub.
In this video we set up the RecyclerView Adapter and related files for that list.
Instructor
Links
Comments
Hi Brandon,
you said this is not an efficient way to create the RecycleView adapter, Do you mean using DiffUtil is the efficient way? or there is a clean OOP architecture for it?
Hi Mohammed,
Yeah I just wanted to clarify that this adapter setup was not ideal--it was just something we needed for the screen so I didn't want to spend time discussing different RecyclerView adapter strategies since it's not super relevant to the course. You're right, I was mostly referring to skipping DiffUtil and just calling notifyDataSetChanged
after clearing/adding the new items.
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