我试图弄清楚为什么在应用程序重新启动后无法访问我的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