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).