Middle
Jak wykonać wstrzykiwanie zależności w pole za pomocą Dagger Hilt?
sobes.tech AI
Odpowiedź od AI
Wstrzykiwanie zależności do pola za pomocą Dagger Hilt odbywa się przez użycie adnotacji @Inject przed deklaracją pola w klasie oznaczonej adnotacją @AndroidEntryPoint.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // Ta klasa będzie wstrzyknięta do aplikacji
class MyActivity : AppCompatActivity() {
@Inject // Wstrzykujemy zależność
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
Adnotacja @Inject wskazuje Hilt, że to pole wymaga wstrzyknięcia zależności. Hilt znajdzie odpowiedni dostawca (np. moduł Dagger) dla typu MyDependency i dostarczy instancję tego typu do tego pola podczas tworzenia instancji MyActivity.
Ważne jest, aby klasa MyActivity była oznaczona adnotacją @AndroidEntryPoint, aby Hilt mógł wstrzykiwać zależności do jej pól. Dodatkowo, pole do wstrzyknięcia nie może być prywatne (private).