Junior — Middle
86
Android қолданбаларында деректерді ViewModel ішінде қалай сақтауға болады?
AI-дан жауап
sobes.tech AI
В Android ViewModel сохраняет данные, которые должны пережить изменения конфигурации (например, поворот экрана). Для этого ViewModel хранит состояние в своих полях, и при пересоздании Activity или Fragment данные остаются доступными.
Если нужно сохранить данные при полном уничтожении приложения, используют SavedStateHandle — специальный объект, позволяющий сохранять и восстанавливать состояние.
Пример использования ViewModel с SavedStateHandle:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var userName: String?
get() = state["userName"]
set(value) {
state["userName"] = value
}
}
Таким образом, данные внутри ViewModel сохраняются в памяти, а при необходимости — в SavedStateHandle для восстановления после уничтожения процесса.