Junior — Middle
Can you explain what Dagger Hilt is and how it is used in Android development?
sobes.tech AI
Answer from AI
Dagger Hilt is a dependency injection library for Android applications built on top of Dagger. It simplifies DI setup by providing ready-made infrastructure and annotations for automatic creation and management of components.
Main features of Hilt:
- Automatic generation of components and dependency graph.
- Integration with the lifecycle of Android components (Activity, Fragment, ViewModel, etc.).
- Simplified configuration compared to pure Dagger.
Example usage:
@HiltAndroidApp
class MyApplication : Application() {}
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject lateinit var repository: UserRepository
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// repository is automatically injected
}
}
@Module
@InstallIn(SingletonComponent::class)
object AppModule {
@Provides
fun provideUserRepository(): UserRepository {
return UserRepositoryImpl()
}
}
Thus, Hilt helps manage dependencies in Android applications, improving modularity and testability of the code.