我已经使用CSIPSIMPLE代码并重新打包到com.mycompany.appname
问题是,每当应用程序崩溃时,所有值都将从共享首选项中删除。
为什么?
我的申请
public class BeemApplication extends Application {
static BeemApplication application = null;
public static SharedPreferences mPref;
public static Editor mEditor;
public BeemApplication() {
}
public static BeemApplication getInstance() {
if(application != null) {
return application;
} else {
return new BeemApplication();
}
}
@Override
public void onCreate() {
super.onCreate();
application = this;
mPref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
mEditor = mPref.edit();
}
@Override
public void onTerminate() {
super.onTerminate();
}
}
在活动中我会得到它们,
BeemApplication.mEditor.putString(ctx.getString(R.string.pref_online_number), number).commit();
BeemApplication.mPref.getString(ctx.getString(R.string.pref_online_number), number).commit();
答案 0 :(得分:1)
这是许多人面临的常见问题,包括我自己。 看看这篇分享你的发现的帖子Android - Shared Preferences are lost sometimes。
我建议不要在共享首选项中存储持久数据,而是使用类似数据库表的内容来存储设置。