0
0
Android Kotlinmobile~5 mins

Dependency injection with Hilt in depth in Android Kotlin - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is Dependency Injection (DI) in Android development?
Dependency Injection is a design pattern that helps provide objects that a class needs (its dependencies) from outside rather than creating them inside the class. This makes code easier to test, maintain, and reuse.
Click to reveal answer
beginner
What is Hilt and why is it used in Android?
Hilt is a library built on top of Dagger that simplifies dependency injection in Android apps. It provides standard components and annotations to reduce boilerplate and make DI easier to implement.
Click to reveal answer
intermediate
Explain the role of @HiltAndroidApp annotation.
The @HiltAndroidApp annotation is placed on the Application class. It triggers Hilt's code generation and creates a base class that manages the app-level dependency container.
Click to reveal answer
intermediate
How do you inject dependencies into an Android Activity using Hilt?
You annotate the Activity with @AndroidEntryPoint. Then, you can use @Inject on fields or constructor parameters to get dependencies automatically provided by Hilt.
Click to reveal answer
intermediate
What is a Hilt Module and how do you define one?
A Hilt Module is a class annotated with @Module and @InstallIn that tells Hilt how to provide certain dependencies. Inside, you define functions annotated with @Provides that return the objects to inject.
Click to reveal answer
Which annotation do you use to enable Hilt in your Application class?
A@AndroidEntryPoint
B@Inject
C@HiltAndroidApp
D@Module
How do you tell Hilt to inject dependencies into an Activity?
ACall inject() manually in onCreate()
BAnnotate the Activity with @AndroidEntryPoint
CUse @Provides inside the Activity
DAnnotate the Activity with @HiltAndroidApp
What is the purpose of a Hilt Module?
ATo store UI layout files
BTo replace the Application class
CTo annotate Activities for injection
DTo provide instructions on how to create dependencies
Which annotation is used on a function inside a Hilt Module to provide a dependency?
A@Provides
B@Inject
C@Singleton
D@EntryPoint
What scope annotation would you use to make a dependency live as long as the Application?
A@Singleton
B@FragmentScoped
C@ActivityScoped
D@ViewModelScoped
Describe the steps to set up Hilt in an Android app and inject a dependency into an Activity.
Think about annotations on Application, Activity, and Modules.
You got /5 concepts.
    Explain how Hilt manages the lifecycle of dependencies and what scopes are available.
    Consider how different parts of the app need different lifetimes for objects.
    You got /5 concepts.