Junior — Middle
Koin'da faol komponent bilan bog'liq ob'ektni qanday ta'minlash mumkin?
sobes.tech AI
AIdan javob
Koin'da, aktiv komponent bilan bog'liq bo'lgan ob'ektni saqlash uchun, bu komponentning hayot aylanishiga bog'liq bo'lgan scope (doira) ishlatiladi.
Ob'ektni komponentning hayot davomida saqlashni ta'minlash uchun:
- Komponent bilan bog'liq scope yarating.
- Ushbu scope ichida bog'liqliklarni aniqlang.
- Scope'dan komponent bilan birga yashaydigan instansiyalarni olish uchun foydalaning.
Misol uchun Activity uchun:
val activityModule = module {
scope<Activity> {
scoped { MyScopedDependency() }
}
}
// Activity ichida
class MyActivity : AppCompatActivity() {
private val myDependency: MyScopedDependency by currentScope.inject()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
}
}
Shu tarzda, MyScopedDependency ob'ekti yaratiladi va MyActivity hayot aylanishi doirasida saqlanadi va uning bilan birga yo'q qilinadi.