Junior — Middle
Comment la sauvegarde des données est-elle effectuée à l'intérieur du ViewModel dans les applications Android?
sobes.tech IA
Réponse de l'IA
Dans Android, ViewModel stocke les données qui doivent survivre aux changements de configuration (par exemple, la rotation de l'écran). Pour cela, ViewModel conserve l'état dans ses champs, et lors de la recréation de l'Activity ou du Fragment, les données restent accessibles.
Si vous devez sauvegarder des données en cas de destruction complète de l'application, utilisez SavedStateHandle, un objet spécial permettant de sauvegarder et de restaurer l'état.
Exemple d'utilisation de ViewModel avec SavedStateHandle :
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var userName: String?
get() = state["userName"]
set(value) {
state["userName"] = value
}
}
Ainsi, les données dans le ViewModel sont stockées en mémoire, et si nécessaire, dans SavedStateHandle pour une restauration après la destruction du processus.