Sobes.tech
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
    }
}