Junior — Middle
Koje komponente Jetpack ViewModel koristite za upravljanje podacima i stanjem UI?
sobes.tech АИ
Одговор од АИ
Za upravljanje podacima i stanjem korisničkog interfejsa u Jetpack ViewModel obično se koriste sledeće komponente:
-
LiveData — posmatrani podaci koji automatski osvežavaju UI pri promeni. Omogućava implementaciju reaktivnog pristupa.
-
MutableLiveData — promenjiva verzija LiveData, koristi se unutar ViewModel-a za ažuriranje podataka.
-
StateFlow / SharedFlow (iz Kotlin Coroutines) — savremene alternative LiveData za upravljanje stanjem i događajima uz podršku za korutine.
-
SavedStateHandle — omogućava čuvanje i obnavljanje stanja ViewModel-a pri ponovnom kreiranju UI-a, na primer pri rotaciji ekrana.
Primer korišćenja LiveData u ViewModel-u:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}