我需要一个int
数组,其中包含多个Integer
值。当用户终止应用程序时,此数组不应该清除。我打算用它:
用户退出应用程序后无法删除该数组,我需要这个来生成唯一ID的“子集”。
到目前为止,我已尝试使用SQLite
数据库来保存此信息,但我认为这是以复杂的方式来实现的。
有什么建议吗?
答案 0 :(得分:2)
嗯,你可以使用共享偏好,这种偏好最好是肤色较浅。但问题是你不能存储数组对象。只能存储基本类型。
但是这里仍然是一个使用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.
答案 1 :(得分:2)
尝试序列化数组并将其存储在File中。 (您可以使用自己的逻辑或使用其他自定义库,如GSON
用于此目的)
下次启动应用程序时,您可以获取文件内容
并重新构建阵列。