我需要一个 int
数组来保存多个 Integer
值。当用户终止应用程序时,该数组不应该被清除。我将用它做什么:
- 检查该数组的最后一项
- 如果此数组中的最后一项是 6,则将 7 添加到数组中的下一项
用户退出应用程序后无法删除数组,我需要它来生成唯一 ID 的“子集”。
到目前为止,我已经尝试使用 SQLite
数据库来保存此信息,但我认为这是一种复杂的方法。
有什么建议吗?
最佳答案
嗯,你可以使用共享偏好,最好是肤色较浅的。但问题是你不能存储数组对象。只能存储原始类型。
但这里仍然有一个使用 JsonArray 执行相同操作的示例。但这并不是一个建议性的做法。
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
JSONArray arr = new JSONArray();
arr.put(12);
arr.put(-6);
prefs.edit().putString("key", arr.toString());
prefs.edit().commit();
// read
try {
arr = new JSONArray(prefs.getString("key", "{}"));
arr.getInt(1); // -6
} catch (JSONException e) {
e.printStackTrace();
}
采用形式here.
关于java - 关闭应用程序时数组不会从内存中清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11759171/