Sobes.tech
Junior — Middle

Ce componente Jetpack ViewModel folosești pentru a gestiona datele și starea UI?

sobes.tech AI

Răspuns de la AI

Pentru gestionarea datelor și a stării interfeței utilizatorului în Jetpack ViewModel, se utilizează de obicei următoarele componente:

  • LiveData — date observabile care actualizează automat UI-ul la modificare. Permite implementarea unei abordări reactive.

  • MutableLiveData — versiune modificabilă a LiveData, utilizată în interiorul ViewModel pentru actualizarea datelor.

  • StateFlow / SharedFlow (din Kotlin Coroutines) — alternative moderne la LiveData pentru gestionarea stării și evenimentelor cu suport pentru corutine.

  • SavedStateHandle — permite salvarea și restaurarea stării ViewModel-ului la recrearea UI-ului, de exemplu, la rotirea ecranului.

Exemplu de utilizare a LiveData în ViewModel:

class MyViewModel : ViewModel() {
    private val _text = MutableLiveData<String>()
    val text: LiveData<String> = _text

    fun updateText(newText: String) {
        _text.value = newText
    }
}