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í.