
Explore the base dagger 2 project setup with two fragments, navigation, a network helper, and module-level dependencies to connect to an API and prepare a room database for later lessons.
Define a data package with local and remote data caches, create an endpoints class for api calls such as get tax and get all tax, and configure the base URL.
Create and configure a retrofit instance to build a networking service interface, including a converter factory, and return the network service for API calls.
Define request and response data classes for API calls, and generate them from postman payloads. Prepare to send data to the endpoint and receive responses in the network service.
Configure the network service and implement suspend functions to fetch all taxes and to fetch a tax by id using defined endpoints, headers, and Retrofit tooling.
Define a Kotlin network resource file and a network status enum to model success, error, and unknown states with generic data. Add companion object factories to create states with codes.
Create the main repository in the data package to wrap the network service, exposing API calls such as get tax and get tax by id, for future local GP work.
Learn to create an Android entity with a table name and columns like id, title, body, status, user id, and notes using an auto incremented primary key.
Continue building the dao and database service by defining a tax entity with suspend insert and query methods, and configure on-conflict handling with dagger integration.
Create a shared repository using a network and database service, implement get and insert operations for the tax entity, including insert many, and send updates to the remote API.
Configure the main view model by wiring the home view model to a main repository, manage loading state, and implement success and failure data flows to call the API.
Refine the main view model to fetch taxes from API, map tax responses to tax entities, and persist them via the repository with loading states and success and failure handling.
Configure the add tax flow by wiring the tax repository to the API, creating a tax request with id, title, body, and status, and handling loading and local insertion.
Create a generic view model provider factory to supply constructor parameters for Android view models owned by the framework, with class checks and proper creation logic.
Create and configure an application module and an application component, define singleton provider functions for the application, network service, and database service, and implement injection across the app.
Configure a dagger application component and application module to provide singleton network and database services, inject dependencies into the to-do app, and set up the repository as a shared dependency.
Implement constructor injection for repository and main repository with Dagger 2, annotate constructors with @Inject, and share a singleton instance across the application using modules and components.
Explore building an activity module and component with Dagger 2, wiring the activity, singleton dependencies, and the application component for clean dependency injection.
Define and apply activity and fragment scopes in Dagger 2, create scope annotations with retention policy source, wire activity components, and prepare for fragment integration.
Create a fragment module and component with provider methods for context, layout manager, and the home view model, and wire the main repository via the application component.
Inject dependencies in the home fragment using dagger 2 by wiring the application component, fragment component, and fragment module, and verify on fragment creation by launching the fragment.
Learn to inject dependencies into a fragment with Dagger 2, wiring the application and fragment components, a view model factory, and repository to power the add fragment.
Fix a bug by fetching the max id from the database and handling nulls in the data store, validating the get all docs flow to the home view model.
Build a task list layout in Android by creating a list item with title, body, and status, using a constraint layout, and preparing a recycler adapter in the fragment.
Create a recycler view adapter for tax entities, including a view holder, layout inflation, and data binding, then update and notify data changes within the home fragment.
Implement the task adapter and set up a RecyclerView with a linear layout manager in a fragment using Dagger 2 for dependency injection; display API data from the local DB.
Implement a local db query to fetch the tax list, wire it via the repository and home view model, and observe results in the home fragment with a loading indicator.
Learn how to display data in a recycler view by wiring dependency injection in a fragment, including injecting the layout manager and the view model, and managing a progress indicator.
Enable task creation in the attacks fragment by populating fields, wiring the add task action to the api via dependency injection, and showing snackbar feedback on success or error.
Debug and fix a bug in Android app by identifying a missing user id in the request, addressing 500 error, and validating successful data insertion, while leveraging Dagger and Kotlin.
Implement and customize a snackbar in Android with Dagger 2 - II, setting background and text colors, actions, and string resources, then run the app to verify the changes.
I congratulate you on completing all lectures in this final lecture and invite you to explore my other Android courses on Udemy, with coupon codes and financial aid options.
In this course we will learn android dependency injection using Kotlin and MVVM. We will build a complete app using Kotlin, Coroutines, Room, Retrofit, Dagger and MVVM. This course is fully practical no talking just doing. If you have already completed Android Dependency Injection With Dagger - I, this course is for you.
This course is for anyone who is interested in learning Android Dependency Injection With Dagger. By the end of the course you will have a good understanding about dependency injection and Dagger 2.