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