Sobes.tech
Middle+

Ի՞նչ պատրաստի կոմպոնենտներ կան որոշակի scope-ով Dagger Hilt-ում և ինչպես կարելի է ավելացնել մոդուլ այդ կոմպոնենտին:

sobes.tech AI

Պատասխան AI-ից

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-ի կյանքի ցիկլի շրջանակներում։