Sobes.tech
Junior — Middle

Kako implementirati sopstvenu komponentu u Hilt-u za ubrizgavanje zavisnosti?

sobes.tech АИ

Одговор од АИ

Za kreiranje sopstvenog komponenta u Hilt-u, potrebno je:

  1. Definisati interfejs komponenta anotiran sa @DefineComponent. U njemu se navode zavisnosti koje će biti dostupne unutar komponenta.

  2. Kreirati anotaciju za povezivanje komponenta sa životnim ciklusom, koristeći @DefineComponent.Builder i @Component.Builder.

  3. Povezati kreirani komponent sa postojećim Hilt komponentom pomoću anotacije @DefineComponent(parent = ...), gde se navodi roditeljski komponent.

  4. Kreirati anotaciju za injektovanje zavisnosti u ovaj komponent pomoću @EntryPoint ili @InstallIn(YourCustomComponent.class).

Primer:

@DefineComponent(parent = SingletonComponent::class)
interface CustomComponent

@DefineComponent.Builder
interface CustomComponentBuilder {
    fun build(): CustomComponent
}

@InstallIn(CustomComponent::class)
@Module
class CustomModule {
    @Provides
    fun provideSomething(): Something = Something()
}

Na ovaj način, možete kreirati prilagođene komponente sa željenom domenom i upravljati zavisnostima fleksibilnije.