Qaysi yondashuvlar va ViewModel shablonining amalga oshirilishini bilasiz?
sobes.tech AI
AIdan javob
Android'da ViewModel modeli, Activity yoki Fragment kabi komponentlarning hayot aylanishini hisobga olgan holda UI ma'lumotlarini saqlash va boshqarish uchun ishlatiladi. Asosiy yondashuvlar va amalga oshirishlar:
-
Android Architecture Components ViewModel — androidx.lifecycle kutubxonasidan klass bo'lib, Activity/Fragment qayta yaratishda (masalan, ekran burilishida) ma'lumotlarni saqlash imkonini beradi. ViewModel UI komponenti tirik bo'lsa, yashaydi.
-
LiveData bilan ViewModel — ko'pincha, ViewModel LiveData ni o'z ichiga oladi, shunda ma'lumotlar o'zgarganda UI avtomatik ravishda yangilanadi.
-
Maxsus ViewModel — o'z ViewModel modelingizni amalga oshirishingiz mumkin, mantiq va ma'lumotlarni UI dan ajratib, ammo AndroidX dan foydalanmasdan, masalan, toza MVVM da.
Standart ViewModel va LiveData bilan foydalanish misoli:
class MyViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun loadData() {
// ma'lumotlarni yuklash, masalan, repository dan
_data.value = "Misol ma'lumot"
}
}
// Activity yoki Fragment da
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.data.observe(this) { value ->
textView.text = value
}
viewModel.loadData()