Middle+
Quais componentes prontos com um escopo definido estão disponíveis no Dagger Hilt, e como adicionar um módulo a esse componente?
sobes.tech IA
Resposta da IA
В Dagger Hilt доступны несколько готовых компонентов с определённым скоупом, которые соответствуют жизненному циклу Android-компонентов:
SingletonComponent— скоуп на всё приложение.ActivityComponent— скоуп на жизненный цикл Activity.FragmentComponent— скоуп на жизненный цикл Fragment.ViewModelComponent— скоуп на жизненный цикл ViewModel.ServiceComponent— скоуп на жизненный цикл Service.ViewComponent— скоуп на жизненный цикл View.
Чтобы добавить модуль к компоненте, нужно создать класс с аннотацией @Module и указать в @InstallIn нужный компонент. Например:
@Module
@InstallIn(ActivityComponent::class)
object MyActivityModule {
@Provides
fun provideSomeDependency(): SomeDependency {
return SomeDependency()
}
}
Таким образом, зависимости из этого модуля будут доступны в пределах жизненного цикла Activity.