应用程序崩溃时,共享的首选项会重置数据。请指导

索拉比

我的应用崩溃了,共享首选项中的所有数据都被清除了。我要保存一些标志并以共享首选项维护用户会话。标志之一是IsFirstLaunch,它告诉我应用程序是否是第一次启动,如果返回true,那么我正在从服务器下载一些数据并将其存储在SQLite数据库中

请指导,在此先感谢。

阿米特·瓦格拉(Amit Vaghela)

因此,崩溃后,当加载首选项时,首选项xml文件中出现空白,导致首选项被重置。

为了避免这种情况,您可以将所有首选项修改放入同步块中,甚至可以使用一种同步静态方法进行所有首选项写入

我认为-您需要一种更好的方法来管理和存储要保存的数据。

但是,下次访问共享首选项时,该xml文件将被清除并重新开始。

例如 :

private static final class SharedPreferencesImpl implements SharedPreferences {
...
    public String getString(String key, String defValue) {
        synchronized (this) {
            String v = (String)mMap.get(key);
            return v != null ? v : defValue;
        }
   }
...
    public final class EditorImpl implements Editor {
        public Editor putString(String key, String value) {
            synchronized (this) {
                mModified.put(key, value);
                return this;
            }
        }
    ...
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用共享首选项时,Android应用程序崩溃

我的设置活动使我的应用程序崩溃(使用共享首选项)

在颤抖中共享首选项停止应用程序

Flutter-如何在共享首选项加载时暂停应用程序?

应用程序重新启动时如何清除所有共享首选项

我的应用程序尝试从非活动类访问共享首选项时被终止

从设置中清除应用程序的缓存后如何保留共享的首选项数据

当应用程序终止时删除首选项数据

我可以使用定制的共享首选项 XML 在启动时设置应用程序吗?

应用程序被杀死时,共享首选项不保存StringSet(这是一项功能)

应用程序再次启动时如何使用共享首选项打开特定屏幕

重新安装时重置共享首选项

您可以从应用程序外部更改共享首选项吗?

如何在Android中卸载应用程序时删除共享首选项

在活动中存储和获取应用程序的共享首选项

Xamarin Forms 中的应用程序设置/属性类似于 Android 中的共享首选项

在Google Play商店上更新应用程序时,我的共享首选项正在删除

使用共享首选项重新启动应用程序后保存区域设置语言

如何在两个沙盒应用程序之间共享首选项文件?

移动应用程序共享首选项保存和呼叫用户登录

Android应用程序将高分值存储为共享首选项中的int。如果得分超过100,则应用会引发出站异常

按“重置应用程序首选项”后,我的应用程序的所有权限都被撤消

删除应用程序后,与该应用程序关联的共享首选项是否被删除?

从共享首选项启动应用程序时,Android 应用程序区域设置不会更改

Android 共享首选项崩溃

应用关闭时修改共享首选项

Flutter共享首选项在应用重启后获取数据

启动应用程序首选项-SSH密钥代理

启动应用程序首选项中的顺序