Sobes.tech
Middle

Dagger Hilt yordamida maydon ichida bog'liqliklarni qanday in'ektsiya qilish mumkin?

sobes.tech AI

AIdan javob

Dagger Hilt yordamida maydon ichiga bog'liqlikni kiritish @AndroidEntryPoint bilan belgilangan sinfda maydon deklaratsiyasidan oldin @Inject anotatsiyasi yordamida amalga oshiriladi.

import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint // Bu sinf ilovaga kiritiladi
class MyActivity : AppCompatActivity() {

    @Inject // Bog'liqlikni kiritamiz
    lateinit var myDependency: MyDependency

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // ...
        myDependency.doSomething()
    }
}

@Inject anotatsiyasi Hiltga bu maydon bog'liqlikni talab qilishini ko'rsatadi. Hilt MyDependency turiga mos ta'minlovchini (masalan, Dagger moduli) topadi va MyActivity instansiyasi yaratilganda bu turdagi nusxani ushbu maydonga taqdim etadi.

Muhim eslatma, MyActivity sinfi @AndroidEntryPoint bilan belgilangan bo'lishi kerak, shunda Hilt uning maydonlariga bog'liqliklarni kiritishi mumkin. Shuningdek, kiritiladigan maydon private (private) bo'lishi mumkin emas.