- [Instructor] In order to get the most out of this course, there are some skills and experiences that you should already have. You'll also want to make sure that you have the right versions of a few tools and libraries that I'm going to use. First of all, this course is intended for experienced developers. You need to be aware of the fact that there are a multitude of ways of implementing a particular bit of functionality, and you should be comfortable with comparing implementations to decide which is most flexible, testable, and maintainable. All of the code for this course is in the context of an Android application.
If you are not an Android developer, you will still probably be able to follow along. If you're going to code along, though, and I absolutely suggest you do that, you'll need to be familiar with Android Studio, and the Android application environment. Similarly, this is not an introductory class for the Kotlin language. I will be coding in Kotlin without explanation. If you're not comfortable with Kotlin, Android, or Android Studio, or maybe just need a refresher, please check out the courses on these topics in the LinkedIn learning library.
The tools I'm using in this video are as follows. Android Studio 3.2.1. Gradle 4.6 and Gradle plugin 3.2.1. Kotlin 1.3.10 and Kotlin plugin 1.3.11. Build Tools 28.0.3. And Dagger 2.17. Although I'm using Dagger 2.17, any version after 2.12 should work as well.
- Dagger basics
- Method and field injection
- Lazy and provider injection
- Dagger annotations: @Module, @Binds, @Provides, and @Named
- Components and subcomponents
- Singletons and custom scope