Sobes.tech
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 для восстановления после уничтожения процесса.