Middle
Kaip atlikti priklausomybių injekciją į lauką naudojant Dagger Hilt?
sobes.tech AI
Atsakymas iš AI
Priklausomybės įvedimas į lauką naudojant Dagger Hilt atliekamas naudojant anotaciją @Inject prieš deklaruojant lauką klasėje, pažymėtoje @AndroidEntryPoint.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // Šis klasė bus įdiegta į programą
class MyActivity : AppCompatActivity() {
@Inject // Injektuojame priklausomybę
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
@Inject anotacija nurodo Hilt, kad šis laukas reikalauja priklausomybės. Hilt suras atitinkamą tiekėją (pavyzdžiui, Dagger modulį) MyDependency tipui ir suteiks šio tipo egzempliorių šiam laukui kuriant MyActivity egzempliorių.
Svarbu prisiminti, kad klasė MyActivity turi būti pažymėta @AndroidEntryPoint, kad Hilt galėtų įdiegti priklausomybes į jos laukus. Taip pat, įvedamas laukas negali būti privačios (private).