Sobes.tech
Junior — Middle

Ako implementovať vlastnú súčasť v Hilt pre injekciu závislostí?

sobes.tech AI

Odpoveď od AI

Pre vytvorenie vlastnej zložky v Hilt je potrebné:

  1. Definovať rozhranie zložky anotované s @DefineComponent. V ňom sú uvedené závislosti, ktoré budú dostupné vo vnútri zložky.

  2. Vytvoriť anotáciu na prepojenie zložky s životným cyklom pomocou @DefineComponent.Builder a @Component.Builder.

  3. Prepojiť vytvorenú zložku s existujúcou zložkou Hilt pomocou anotácie @DefineComponent(parent = ...), kde sa uvádza rodičovská zložka.

  4. Vytvoriť anotáciu na injektovanie závislostí do tejto zložky pomocou @EntryPoint alebo @InstallIn(YourCustomComponent.class).

Príklad:

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

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

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

Týmto spôsobom môžete vytvárať vlastné komponenty s požadovaným rozsahom a spravovať závislosti flexibilnejšie.