java - 应用程序崩溃时将应用程序上下文存储在 SharedPreferences 中

标签 java android sharedpreferences applicationcontext

目前我正在存储我所有的用户信息以及我创建的名为 userInfoCore 的类中的 friend 信息。延伸Application所以我可以将值存储在上下文中。当我的应用程序崩溃时,它会删除所有这些值,并且我的用户被迫重新登录,因此我想将它们存储在 SharedPreferences 中,以便在 onCreate 中再次获取。我的MainActivity .

我知道如何存储它们,这不是问题。问题是我不想用重复的代码过度拥挤我的代码并将存储方法放在所有 onDestroy 中我所有的 Activity ,但我不能 @Override onDestroy在我的userInfoCore类,因为它不是我想象的 Activity?

一些现场会很棒。谢谢!

编辑:

我发现,即使用户按下主屏幕,Android list 中的这一行也会导致我的应用程序上下文数据被破坏。 android:launchMode="singleInstance"

我的想法是,我可以将它们存储在 onPause 中或者按照@CommonsWare的建议去做。然而就像我说的,我不想做所有这些。如果我能找到问题根源……我已经找到了。 ( list 中的 singleInstance)那么我会更高兴。

最佳答案

Some insite would be great.

数据更改时更新持久存储。与任何单例一样,自定义 Application 子类只能被视为缓存或其他数据 transient 点。如果您关心这些值,请在数据更改时保留它们。

关于java - 应用程序崩溃时将应用程序上下文存储在 SharedPreferences 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19034326/

相关文章:

java - 从图库 Android 应用中拍照时 ImageView 不显示图像

java - 在 Java 中模拟 SFTP、FTP、FTPS、本地文件系统服务器

android - 如何使用 UML 类图表示通过另一个类调用一个类

android - 挂起函数会挂起协程吗?

javascript - 从 3.3.0 更新到 3.6.4 后,Cordova 未启动 deviceready

android - 具有共享偏好的单例类,每次传入上下文或存储它

java - 如何将对 new 的调用重构为带参数的方法调用?

java - Java 7 Update 10 中的零日安全漏洞

java - 我的共享首选项无法正确共享

Android Wear - 访问移动共享首选项