Sobes.tech
Junior — Middle

Jak je implementováno použití ViewModel v Jetpacku pro správu stavu uživatelského rozhraní?

sobes.tech AI

Odpověď od AI

ViewModel v Jetpacku se používá k ukládání a správě stavu uživatelského rozhraní, přičemž uchovává data při změnách konfigurace (například otočení obrazovky). ViewModel odděluje logiku UI od Activity nebo Fragmentu, což usnadňuje testování a údržbu.

Příklad použití:

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

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

// V Activity nebo Fragmentu
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
    textView.text = updatedText
}

Tímto způsobem ViewModel uchovává data, která přežijí znovu vytvoření UI, a poskytuje je prostřednictvím LiveData pro reaktivní aktualizaci rozhraní.