Ответ
Hilt — это библиотека для внедрения зависимостей (DI) на Android, основанная на Dagger. Используется, когда нужно упростить настройку DI в проекте, избежав ручного написания большого количества boilerplate-кода.
Основные случаи:
- Управление зависимостями в Android-компонентах (Activity, Fragment, ViewModel, Service и др.).
- Общий доступ к зависимостям (например, репозиториям, API-клиентам) через Application-контекст.
- Тестирование с заменой реализаций (моки).
Пример:
@HiltAndroidApp
class MyApp : Application()
@Module
@InstallIn(SingletonComponent::class)
object AppModule {
@Provides
fun provideApi(): ApiService = RetrofitClient.api
}
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject lateinit var api: ApiService
}