使用此:
int x[] = { 1,2,3,4,5 };
String willSave = "";
for(int i=0 ; i<x.length ; i++){
willSave += String.valueOf(x[i]) + ";";
}
saveString(getBaseContext(), "Values", "LastScores", willSave);
// Checking the last cached values
String cachedValues = loadString(getBaseContext(), "Values", "LastScores");
String splitted[] = cachedValues.split(";");
int lastValues[] = new int[splitted.length];
for(int i=0 ; i<splitted.length ; i++){
lastValues[i] = Integer.parseInt(splitted[i]);
}
功能saveString
和loadString
:
public void saveString(Context c, String prefName, String key, String value){
SharedPreferences settings = c.getSharedPreferences(prefName, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString(key, value);
editor.commit();
}
public String loadString(Context c, String prefName, String key){
SharedPreferences settings = c.getSharedPreferences(prefName, 0);
return new String(settings.getString(key, ""));
}
此代碼這樣做:你int
陣列首先轉換爲String
,因爲你可以不保存數組t o sharedPrefs。然後再次將此緩存的String
轉換爲int
數組。
有沒有可能在sharedpreference上做到這一點?因爲SQlite更復雜。 – user3698267 2014-10-17 13:33:05
就像我上面展示的那樣。將它們存儲爲單獨的文件。我只添加了第一個分數,但是你可以用「2」分數添加第二個分數,scoreTwoVar「。但是,一旦你嘗試一個SQLite數據庫真的不是那麼複雜。 – codeMagic 2014-10-17 13:35:21
謝謝你的想法,先生。你們真的幫助我。我只需要學習FiFO的算法。 – user3698267 2014-10-17 13:51:01