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