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.