Sobes.tech
Junior — Middle

Jak lze implementovat vlastní komponentu v Hilt pro injekci závislostí?

sobes.tech AI

Odpověď od AI

Pro vytvoření vlastního komponentu v Hilt je třeba:

  1. Definovat rozhraní komponentu anotované @DefineComponent. V něm jsou uvedeny závislosti, které budou dostupné uvnitř komponentu.

  2. Vytvořit anotaci pro propojení komponentu s životním cyklem pomocí @DefineComponent.Builder a @Component.Builder.

  3. Propojit vytvořený komponent s existujícím komponentem Hilt pomocí anotace @DefineComponent(parent = ...), kde je uveden rodičovský komponent.

  4. Vytvořit anotaci pro injekci závislostí do tohoto komponentu pomocí @EntryPoint nebo @InstallIn(YourCustomComponent.class).

Pří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 způsobem lze vytvářet vlastní komponenty s požadovaným rozsahem a spravovat závislosti flexibilněji.