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