Junior — Middle
Jetpack ViewModel komponentlaridan qaysilarini ma'lumotlar va UI holatini boshqarish uchun ishlatasiz?
sobes.tech AI
AIdan javob
Jetpack ViewModel'da ma'lumotlar va UI holatini boshqarish uchun odatda quyidagi komponentlar ishlatiladi:
-
LiveData — o'zgarishlar bilan avtomatik ravishda UI ni yangilaydigan kuzatiladigan ma'lumotlar. Reaktiv yondashuvni amalga oshirish imkonini beradi.
-
MutableLiveData — LiveData ning o'zgartiriladigan versiyasi, ViewModel ichida ma'lumotlarni yangilash uchun ishlatiladi.
-
StateFlow / SharedFlow (Kotlin Coroutines dan) — LiveData ga zamonaviy alternativlar, holat va voqealarni boshqarish uchun coroutine qo'llab-quvvatlashi bilan.
-
SavedStateHandle — UI qayta yaratishda ViewModel holatini saqlash va tiklash imkonini beradi, masalan, ekran burilishida.
ViewModel da LiveData dan foydalanish misoli:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}