Sobes.tech
Junior — Middle

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
    }
}