Junior — Middle
Как може да се съхраняват данни вътре във ViewModel за по-нататъшна употреба?
sobes.tech AI
Отговор от AI
За запазване на данни вътре във ViewModel и тяхното повторно използване обикновено се използват полета на класа ViewModel, които запазват състоянието през жизнения цикъл на свързания UI компонент.
Ако е необходимо да се запазят данни при унищожаване на процеса (например при завъртане на екрана или затваряне на приложението), може да се използва SavedStateHandle — специален обект, който позволява запазване и възстановяване на състоянието.
Пример за използване на SavedStateHandle:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var userName: String?
get() = state.get<String>("userName")
set(value) = state.set("userName", value)
}
По този начин данните се запазват и възстановяват автоматично, което подобрява потребителския опит и предотвратява загубата на информация.