Sobes.tech
Junior — Middle

Welke componenten van Jetpack ViewModel gebruik je om gegevens en de UI-status te beheren?

sobes.tech AI

Antwoord van AI

Om gegevens en de status van de gebruikersinterface in Jetpack ViewModel te beheren, worden meestal de volgende componenten gebruikt:

  • LiveData — observeerbare gegevens die de UI automatisch bijwerken bij wijzigingen. Maakt een reactieve aanpak mogelijk.

  • MutableLiveData — een wijzigbare versie van LiveData, gebruikt binnen de ViewModel om gegevens bij te werken.

  • StateFlow / SharedFlow (van Kotlin Coroutines) — moderne alternatieven voor LiveData voor het beheren van status en gebeurtenissen met ondersteuning voor coroutines.

  • SavedStateHandle — stelt je in staat om de status van de ViewModel op te slaan en te herstellen bij het opnieuw maken van de UI, bijvoorbeeld bij schermrotatie.

Voorbeeld van het gebruik van LiveData in een ViewModel:

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

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