Sobes.tech
Junior — Middle

Kaip įgyvendinama ViewModel naudojimas Jetpack'e vartotojo sąsajos būsenai valdyti?

sobes.tech AI

Atsakymas iš AI

Jetpack'e ViewModel naudojamas UI būsenos saugojimui ir valdymui, išlaikant duomenis keičiantis konfigūracijai (pvz., ekrano pasukimui). ViewModel atskiria UI logiką nuo Activity ar Fragment, tai palengvina testavimą ir priežiūrą.

Naudojimo pavyzdys:

class MyViewModel : ViewModel() {
    private val _text = MutableLiveData<String>()
    val text: LiveData<String> = _text

    fun updateText(newText: String) {
        _text.value = newText
    }
}

// Activity ar Fragment'e
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
    textView.text = updatedText
}

Taip, ViewModel saugo duomenis, kurie išlieka po UI perkūrimo, ir teikia juos per LiveData reaktyviam sąsajos atnaujinimui.