Middle
Wie führt man die Dependency Injection in ein Feld mit Dagger Hilt durch?
sobes.tech KI
Antwort von AI
Die Abhängigkeitsinjektion in ein Feld mit Dagger Hilt erfolgt durch die Verwendung der Annotation @Inject vor der Felddeklaration in einer Klasse, die mit @AndroidEntryPoint annotiert ist.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // Diese Klasse wird in die Anwendung injiziert
class MyActivity : AppCompatActivity() {
@Inject // Abhängigkeit injizieren
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
Die Annotation @Inject weist Hilt an, dass dieses Feld eine Abhängigkeit benötigt. Hilt findet einen entsprechenden Anbieter (z.B. ein Dagger-Modul) für den Typ MyDependency und stellt eine Instanz dieses Typs in dieses Feld bereit, wenn eine Instanz von MyActivity erstellt wird.
Es ist wichtig, daran zu denken, dass die Klasse MyActivity mit @AndroidEntryPoint annotiert sein muss, damit Hilt Abhängigkeiten in ihre Felder injizieren kann. Außerdem darf das injizierte Feld nicht privat (private) sein.