Sobes.tech
Junior — Middle

Jak jest realizowane użycie ViewModel w Jetpack do zarządzania stanem interfejsu użytkownika?

sobes.tech AI

Odpowiedź od AI

ViewModel w Jetpack jest używany do przechowywania i zarządzania stanem interfejsu użytkownika, zachowując dane podczas zmian konfiguracji (np. obrót ekranu). ViewModel oddziela logikę UI od Activity lub Fragment, co ułatwia testowanie i utrzymanie.

Przykład użycia:

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

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

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

W ten sposób ViewModel przechowuje dane, które przetrwają ponowne tworzenie UI, i udostępnia je przez LiveData do reaktywnej aktualizacji interfejsu.