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