Sobes.tech
Junior — Middle

Ako možno ukladať údaje vo vnútri ViewModelu na neskoršie použitie?

sobes.tech AI

Odpoveď od AI

Pre ukladanie údajov vo vnútri ViewModelu a ich opätovné použitie sa zvyčajne používajú polia triedy ViewModel, ktoré zachovávajú stav počas životného cyklu pripojeného UI komponentu.

Ak je potrebné uložiť údaje pri zničení procesu (napríklad pri otáčaní obrazovky alebo zatváraní aplikácie), môžete použiť SavedStateHandle, špeciálny objekt, ktorý umožňuje uloženie a obnovenie stavu.

Príklad použitia SavedStateHandle:

class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
    var userName: String?
        get() = state.get<String>("userName")
        set(value) = state.set("userName", value)
}

Týmto spôsobom sa údaje automaticky ukladajú a obnovujú, čo zlepšuje používateľský zážitok a zabraňuje strate informácií.