Junior — Middle
Kokius Jetpack ViewModel komponentus naudojate duomenų ir UI būsenos valdymui?
sobes.tech AI
Atsakymas iš AI
Norint valdyti duomenis ir UI būseną Jetpack ViewModel, paprastai naudojami šie komponentai:
-
LiveData — stebimosios duomenys, kurie automatiškai atnaujina UI keičiantis. Leidžia įgyvendinti reaktyvų požiūrį.
-
MutableLiveData — keičiamoji LiveData versija, naudojama viduje ViewModel duomenų atnaujinimui.
-
StateFlow / SharedFlow (iš Kotlin Coroutines) — šiuolaikinės alternatyvos LiveData valdymui būsenos ir įvykių su coroutine palaikymu.
-
SavedStateHandle — leidžia išsaugoti ir atkurti ViewModel būseną UI atnaujinimo metu, pavyzdžiui, ekrano pasukimo metu.
Pavyzdys, kaip naudoti LiveData ViewModel:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}