Sobes.tech
Junior — Middle

Hoe wordt het opslaan van gegevens binnen de ViewModel in Android-applicaties uitgevoerd?

sobes.tech AI

Antwoord van AI

In Android slaat ViewModel gegevens op die de configuratiewijzigingen (bijvoorbeeld schermrotatie) moeten overleven. Hiervoor bewaart ViewModel de toestand in zijn velden, en bij het opnieuw maken van de Activity of Fragment blijven de gegevens toegankelijk.

Als gegevens volledig moeten worden bewaard bij het volledig afsluiten van de app, wordt SavedStateHandle gebruikt — een speciaal object dat het opslaan en herstellen van de toestand mogelijk maakt.

Voorbeeld van het gebruik van ViewModel met SavedStateHandle:

class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
    var userName: String?
        get() = state["userName"]
        set(value) {
            state["userName"] = value
        }
}

Op deze manier worden de gegevens binnen de ViewModel in het geheugen opgeslagen, en indien nodig, in SavedStateHandle voor herstel na het beëindigen van het proces.