Jetpack ViewModel-in hansı komponentlərini istifadə edirsiniz məlumatları və UI vəziyyətini idarə etmək üçün?
sobes.tech Süni İntellekt
AI-dan cavab
Jetpack ViewModel-də məlumatların və UI vəziyyətinin idarə olunması üçün adətən aşağıdakı komponentlər istifadə olunur:
-
LiveData — dəyişikliklər zamanı avtomatik olaraq UI-ni yeniləyən müşahidə olunan məlumatlar. Reaktiv yanaşmanı həyata keçirməyə imkan verir.
-
MutableLiveData — LiveData-nın dəyişdirilə bilən versiyası, ViewModel daxilində məlumatların yenilənməsi üçün istifadə olunur.
-
StateFlow / SharedFlow (Kotlin Coroutines-dən) — LiveData-ya müasir alternativlər, vəziyyət və hadisələrin idarə olunması üçün coroutine dəstəyi ilə.
-
SavedStateHandle — UI yenidən yaradılarkən ViewModel-in vəziyyətini saxlamaq və bərpa etmək imkanı verir, məsələn, ekranın döndürülməsi zamanı.
ViewModel-də LiveData-dan istifadə nümunəsi:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}