Sobes.tech
Junior — Middle

Come si può implementare un componente personalizzato in Hilt per l'iniezione delle dipendenze?

sobes.tech AI

Risposta dell'AI

Per creare un componente personalizzato in Hilt, devi:

  1. Definire un'interfaccia di componente annotata con @DefineComponent. In essa vengono indicate le dipendenze disponibili all'interno del componente.

  2. Creare un'annotazione per collegare il componente al ciclo di vita, utilizzando @DefineComponent.Builder e @Component.Builder.

  3. Collegare il componente creato a un componente Hilt esistente usando l'annotazione @DefineComponent(parent = ...), specificando il componente genitore.

  4. Creare un'annotazione per l'iniezione delle dipendenze in questo componente usando @EntryPoint o @InstallIn(YourCustomComponent.class).

Esempio:

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

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

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

In questo modo, puoi creare componenti personalizzati con l'ambito desiderato e gestire le dipendenze in modo più flessibile.