0

複数の値intを保持する配列が必要です。Integerこの配列は、ユーザーがアプリケーションを終了したときにクリアされるべきではありません。これを何に使用するか:

  1. この配列の最後の項目を確認してください
  2. この配列の最後の項目が 6 の場合、配列の次の項目に 7 を追加します

ユーザーがアプリケーションを終了した後、配列を削除することはできません。これは、一意の ID の「サブセット」を生成するために必要です。

これまでのところSQLite、この情報を保持するためにデータベースを使用してみましたが、これは複雑な方法だと思います。

助言がありますか?

4

2 に答える 2

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 に答える
2

配列をシリアル化し、ファイルに格納してみてください。(独自のロジックを使用することもGSON、この目的のために他のカスタム ライブラリを使用することもできます) 次回アプリケーションを起動するときに、ファイルの内容を取得して配列を再構築することができます。

于 2012-08-01T12:33:13.127 に答える