Sobes.tech
Junior — Middle

Koje komponente Jetpack ViewModel koristite za upravljanje podacima i stanjem UI?

sobes.tech АИ

Одговор од АИ

Za upravljanje podacima i stanjem korisničkog interfejsa u Jetpack ViewModel obično se koriste sledeće komponente:

  • LiveData — posmatrani podaci koji automatski osvežavaju UI pri promeni. Omogućava implementaciju reaktivnog pristupa.

  • MutableLiveData — promenjiva verzija LiveData, koristi se unutar ViewModel-a za ažuriranje podataka.

  • StateFlow / SharedFlow (iz Kotlin Coroutines) — savremene alternative LiveData za upravljanje stanjem i događajima uz podršku za korutine.

  • SavedStateHandle — omogućava čuvanje i obnavljanje stanja ViewModel-a pri ponovnom kreiranju UI-a, na primer pri rotaciji ekrana.

Primer korišćenja LiveData u ViewModel-u:

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

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