当我的应用程序在我的“D-Activity”中崩溃时,我遇到了问题。
MainActivity - >活动 - > B-活性 - > C-活性 - > d-活性
我在MainActivity中创建实例GlobalClass。
public static synchronized GlobalClass getInstance()
{
if(instance==null)
{
instance=new GlobalClass();
}
return instance;
}
例如: 我的应用程序在“D活动”中崩溃。 Android从B Activity重新启动我的应用程序,但我在GlobalClass中丢失了数据。有很多字段String和ArrayList。我如何让他们回来?
答案 0 :(得分:0)
例如,您可以使用GlobalClass
库将JSON
实例转换为Gson
。首次实例化GlobalClass
后,您可以将其JSON
表示保存到SharedPreferences
,每次需要时,如果它为空,您可以尝试从{SharedPreferences
读取它1}}。
保存到SharedPreferences的示例:
/**
* @return This session's config data.
*/
public Config getConfig() {
Config config = new Gson().fromJson(mPreferences.getString(KEY_CONFIG, null), Config.class);
return config;
}
/**
* Save this session's config data.
*
* @param config
* Config data.
*/
public void setConfig(Config config) {
mPreferences.edit().putString(KEY_CONFIG, new Gson().toJson(config)).commit();
}
获取/设置全局值的示例:
/**
* @return Application configuration parameters.
*/
public static Config getConfig() {
if (sConfig == null)
sConfig = sPreferences.getConfig();
return sConfig;
}
/**
* Set application configuration parameters.
*
* @param config
* Config to set.
*/
public static void setConfig(Config config) {
sPreferences.setConfig(config);
sConfig = config;
}