Middle
Kā veikt atkarības injekciju laukā, izmantojot Dagger Hilt?
sobes.tech AI
Atbilde no AI
Atkarības ievadīšana laukā ar Dagger Hilt palīdzību tiek veikta, izmantojot anotāciju @Inject pirms lauka deklarācijas klasē, kas ir atzīmēta ar @AndroidEntryPoint.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // Šī klase tiks injicēta lietojumprogrammā
class MyActivity : AppCompatActivity() {
@Inject // Ievadām atkarību
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
@Inject anotācija norāda Hilt, ka šis lauks prasa atkarību. Hilt atradīs atbilstošu nodrošinātāju (piemēram, Dagger moduli) MyDependency tipam un nodrošinās šī tipa instanci šim laukam, izveidojot MyActivity instanci.
Svarīgi atcerēties, ka klase MyActivity ir jābūt atzīmētai ar @AndroidEntryPoint, lai Hilt varētu injicēt atkarības tās laukos. Turklāt, injicējamais lauks nedrīkst būt privāts (private).