java - 保存对象的属性
问题描述
我的 Android 应用程序中有一组对象实例myClass[] test_array = new myClass[4];
。
我想稍后保存和恢复的对象属性。在onStop()
活动事件发生后,它们应该以某种方式保存,并在下一次活动开始时恢复。
我怎样才能以最好的方式做到这一点?XML,属性,首选项,...?
解决方案
最好的方法之一是覆盖onSaveInstanceState(Bundle savedInstanceState)
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
// Save data on recreate or when app is killed
savedInstanceState.putParcelableArray("YOUR_KEY",array)
}
并通过覆盖onRestoreInstanceState(Bundle savedInstanceState)来恢复值
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// restore saved data
array = savedInstanceState.getParcelableArray("YOUR_KEY");
}
推荐阅读
- javascript - 如何为所有命令的特定用户进行冷却(Discord.js)
- javascript - 在 Jest 测试期间,Process.env 变量在函数之外不可用
- django - 模板无法访问 Django 收集的静态文件
- java - 是否有任何有效的微优化来找到唯一网格路径的数量?
- angular - 基于键值的角度更改ngClass
- java - 用户界面中的 JTable
- arrays - 当表确实存在并且具有值时,表 [1] 返回 nil
- c - 输入所需的骰子数后,我的 Yatzee 游戏代码将无法继续运行?
- java - 从多个孩子 Android Firebase 中检索同一个孩子
- python - 从多个子进程 Popens 一起捕获所有 stderr 数据