我使用下面的代碼將數據保存到我的Android應用程序的共享偏好:Android的共享偏好的任務不是仿真器會話之間持續存在的
private SharedPreferences getOurSharedPreferences() {
return getSharedPreferences(SHARED_PREFS_FILENAME, MODE_PRIVATE);
}
SharedPreferences sharedPrefs = getOurSharedPreferences();
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString(keyName, theString);
if (!editor.commit())
throw new RuntimeException("Unable to save new string.");
// Get it back as a test.
String s2 = getStringFromStorage(keyName);
凡SHARED_PREFS_FILENAME是私人最後靜態字符串的keyName的名稱是什麼鍵我目前用作字段名稱。該提交工作正常,我沒有得到一個例外。正如你所看到的,我添加了一個檢索最近提交的字符串的測試,並且當我檢查它(s2)時,該值是正確的。所以我在我的應用程序的生命週期中沒有任何共享偏好存儲問題。但是,當我在仿真器中重新啓動應用程序時,共享首選項存儲區爲空,並且找不到存儲在上次模擬器會話中的值。我做了一些閱讀,並且據我所見,存儲的值應該保留在會話中,顯然它們保存在屬於模擬器的XML文件中。但我有問題。
任何人都可以告訴我爲什麼我的共享首選項存儲值不會持續在Android模擬器會話之間嗎?
- roshcler
您是否在與您的代碼相關的堆棧跟蹤中看到任何錯誤或警告? – rajath 2011-04-23 01:50:09
不,我不是。謝謝。 – 2011-04-23 03:52:56
我有同樣的問題,但也在我的設備中測試,我運行我的應用程序,進行一些首選項更改,一切正常,然後停止並重新啓動應用程序,並且更改已經結束! – maid450 2011-04-29 10:32:41