我試圖弄清楚爲什麼在應用程序重新啓動後無法訪問我的SharedPreference文件。SharedPreference在應用程序重新啓動後不可用
在在OnCreate我的應用程序類我定義我SharedPreference一次:
pref = getSharedPreferences(Util.PREF_FILE_NAME, Context.MODE_PRIVATE);
editor = pref.edit();
然後在我的活動的onResume我打電話:
String userName = MyApp.getApplication().pref.getString(Util.USER_NAME, "");
但在這一點上的用戶名是重啓後總是空的。
-To保存我值:
MyApp.getApplication().editor.putString(Util.USER_NAME,"name").commit();
-For MyApp.getApplication()我在我的應用類中定義:
public MyApp() {
instance = this;
}
public static MyApp getApplication() {
if (instance == null) {
instance = new MyApp();
}
return instance;
}
從我的設備I運行終端的應用程序和用'cat'命令我可以看到我的sharedPreference XML文件的內容。即使當我殺了我的應用程序,我可以看到sharedPreference文件仍然存在與我的正確值內。 但是,當我重新啓動我的應用程序這個值不能被讀取。那裏發生了什麼?
我已經注意到與Android棒棒糖的平板電腦我沒有問題,但與Android Kitkat平板我有這個問題。
您必須提交編輯。 'edit.commit();' –
@ZahidulIslam這就是我對MyApp.getApplication()。editor.putString(Util.USER_NAME,「name」)。commit(); ? – AlexDG
有沒有機會Util.PREF_FILE_NAME更改應用午餐的價值? – X3Btel