Middle+
Quels composants prêts avec une portée déterminée sont disponibles dans Dagger Hilt, et comment ajouter un module à ce composant?
sobes.tech IA
Réponse de l'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.