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