Middle
Kako izvršiti injekciju zavisnosti u polje pomoću Dagger Hilt?
sobes.tech АИ
Одговор од АИ
Ubacivanje zavisnosti u polje pomoću Dagger Hilt-a vrši se korišćenjem anotacije @Inject pre deklaracije polja u klasi koja je označena sa @AndroidEntryPoint.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // Ova klasa će biti injektovana u aplikaciju
class MyActivity : AppCompatActivity() {
@Inject // Injektujemo zavisnost
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
Anotacija @Inject ukazuje Hilt-u da ovo polje zahteva zavisnost. Hilt će pronaći odgovarajući pružaoca (na primer, Dagger modul) za tip MyDependency i obezbediti instancu tog tipa u ovo polje prilikom kreiranja instance MyActivity.
Važno je zapamtiti da klasa MyActivity mora biti označena sa @AndroidEntryPoint da bi Hilt mogao da injektuje zavisnosti u njena polja. Takođe, polje koje se injektuje ne može biti privatno (private).