Junior — Middle
Kādus Jetpack ViewModel komponentus izmantojat datu un UI stāvokļa pārvaldībai?
sobes.tech AI
Atbilde no AI
Lai pārvaldītu datus un UI stāvokli Jetpack ViewModel, parasti tiek izmantoti šādi komponenti:
-
LiveData — novērojami dati, kas automātiski atjaunina UI, mainoties. Nodrošina reaktīvu pieeju.
-
MutableLiveData — maināma LiveData versija, kas tiek izmantota ViewModel iekšienē datu atjaunošanai.
-
StateFlow / SharedFlow (no Kotlin Coroutines) — mūsdienīgas alternatīvas LiveData stāvokļa un notikumu pārvaldībai ar korutīnu atbalstu.
-
SavedStateHandle — ļauj saglabāt un atjaunot ViewModel stāvokli, kad UI tiek pārveidots, piemēram, ekrāna apgriešanas gadījumā.
LiveData piemērs ViewModel:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}