我需要有一個int
數組,其中包含多個Integer
值。當用戶終止應用程序時,該數組不應該清除。我打算用這個:數組中當關閉應用程序時不會從內存中清除數組
- 檢查這個數組的最後一個項目
- 如果這個數組中的最後一個項目是6,加7到下一個項目
在用戶退出應用程序後,該陣列不能被刪除,我需要這個來生成唯一ID的「子集」。
到目前爲止,我已經嘗試使用SQLite
數據庫來保存這些信息,但我認爲這是以複雜的方式來做到這一點。
有什麼建議嗎?
我需要有一個int
數組,其中包含多個Integer
值。當用戶終止應用程序時,該數組不應該清除。我打算用這個:數組中當關閉應用程序時不會從內存中清除數組
在用戶退出應用程序後,該陣列不能被刪除,我需要這個來生成唯一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.
正確!!這會導致解決方案..化妝品!! !! – 2012-08-01 12:31:20
這將拋出一個異常說:JSONObject不能轉換爲JSONArray – 2012-08-01 12:39:35
嘗試序列化陣列並將其存儲在文件中。 (您可以使用自己的邏輯或使用其他自定義庫,例如GSON
用於此目的) 下次啓動應用程序時,可以取文件內容 並重新構建陣列。
閱讀關於SharedPreferences!在這裏有很多問題,所以你可能會找到解決方案。 – theAlse 2012-08-01 12:27:15