0

我需要一个int包含多个Integer值的数组。当用户终止应用程序时,这个数组不应该被清除。我打算用它来做什么:

  1. 检查此数组的最后一项
  2. 如果此数组中的最后一项为 6,则将 7 添加到数组中的下一项

用户退出应用程序后无法删除该数组,我需要它来生成唯一 ID 的“子集”。

到目前为止,我已经尝试使用SQLite数据库来保存这些信息,但我认为这是一种复杂的方法。

有什么建议么?

4

2 回答 2

2

尝试序列化数组并将其存储在文件中。(您可以使用自己的逻辑或使用其他类似GSON的自定义库)下次启动应用程序时,您可以获取文件内容并重建数组。

于 2012-08-01T12:33:13.127 回答
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();
}

在这里形成

于 2012-08-01T12:30:09.440 回答