Sobes.tech
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.