Junior — Middle
Aké komponenty Jetpack ViewModel používate na správu údajov a stavu UI?
sobes.tech AI
Odpoveď od AI
Na správu údajov a stavu používateľského rozhrania v Jetpack ViewModel sa zvyčajne používajú nasledujúce komponenty:
-
LiveData — pozorovateľné údaje, ktoré sa automaticky aktualizujú pri zmene. Umožňuje implementáciu reaktívneho prístupu.
-
MutableLiveData — modifikovateľná verzia LiveData, používaná vo vnútri ViewModelu na aktualizáciu údajov.
-
StateFlow / SharedFlow (z Kotlin Coroutines) — moderné alternatívy k LiveData na správu stavu a udalostí s podporou pre korutiny.
-
SavedStateHandle — umožňuje uložiť a obnoviť stav ViewModelu pri znovuvytvorení UI, napríklad pri otočení obrazovky.
Príklad použitia LiveData v ViewModel:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}