Sobes.tech
Junior — Middle

Ako je implementované používanie ViewModel v Jetpacku na správu stavu používateľského rozhrania?

sobes.tech AI

Odpoveď od AI

ViewModel v Jetpack-u se koristi za skladištenje i upravljanje stanjem UI-ja, čuvajući podatke tokom promena konfiguracije (npr. rotacija екрана). ViewModel odvaja logiku UI-ja od Activity ili Fragment-a, što olakšava testiranje i održavanje.

Primer upotrebe:

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

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

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

Tako, ViewModel čuva podatke koji preživljavaju ponovnu kreaciju UI-ja i pruža ih putem LiveData za reaktivno ažuriranje interfejsa.