Когда используется Hilt

«Когда используется Hilt» — вопрос из категории DI, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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  
}