Sobes.tech
Middle

Comment effectuer l'injection de dépendances dans un champ avec Dagger Hilt ?

sobes.tech IA

Réponse de l'IA

L'injection de dépendances dans un champ à l'aide de Dagger Hilt se fait en utilisant l'annotation @Inject avant la déclaration du champ dans une classe annotée avec @AndroidEntryPoint.

import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint // Cette classe sera injectée dans l'application
class MyActivity : AppCompatActivity() {

    @Inject // Injection de dépendance
    lateinit var myDependency: MyDependency

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // ...
        myDependency.doSomething()
    }
}

L'annotation @Inject indique à Hilt que ce champ nécessite une dépendance. Hilt trouvera un fournisseur correspondant (par exemple, un module Dagger) pour le type MyDependency et fournira une instance de ce type dans ce champ lors de la création d'une instance de MyActivity.

Il est important de se rappeler que la classe MyActivity doit être annotée avec @AndroidEntryPoint pour que Hilt puisse injecter des dépendances dans ses champs. De plus, le champ à injecter ne peut pas être privé (private).