Middle+
Milyen kész komponensek érhetők el meghatározott scope-tal a Dagger Hilt-ben, és hogyan lehet egy modult hozzáadni ehhez a komponenshez?
sobes.tech MI
Válasz az MI-től
В 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.