- This codelab originally is published here: https://codelabs.developers.google.com/codelabs/android-dagger/#0
- The purpose of forked by me and upload github is to reach/archive easily and keep statistics of previous codelabs that I worked.
- There are some notes in project which starts with "kiroglu" prefix. Those are notes for me mostly based on codelab documentation.
This folder contains the source code for the "Using Dagger in your Android app" codelab.
The codelab is built in multiple GitHub branches:
masteris the codelab's starting point.1_registration_main,2_subcomponents, and3_dagger_appare intermediate steps towards the solution.solutioncontains the solution to this codelab.
Dependency injection is a technique widely used in programming and well suited to Android development. By following the principles of dependency injection, you lay the groundwork for a good app architecture.
Implementing dependency injection provides you with the following advantages:
- Reusability of code.
- Ease of refactoring.
- Ease of testing.
- Experience with Kotlin syntax.
- You understand Dependency Injection and know what the benefits of using Dagger in your Android app are.
- Install Android Studio, if you don't already have it.
- Download the sample.
- Import the sample into Android Studio.
- Build and run the sample.
- Step 1 -
masterto1_registration_main(Comparison) - Step 2 -
1_registration_mainto2_subcomponents(Comparison) - Step 3 -
2_subcomponentsto3_dagger_app(Comparison) - Step 4 -
3_dagger_apptosolution(Comparison) - Full codelab comparison
Copyright 2019 Google LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.