android - SharedPreferences 可以不保存吗?
问题描述
我有一个应用程序使用 SharedPreferences 来记录用户的签入或签出状态。如果签入被按下,它的按钮是灰色的,签出变得可用,相反的工作也是如此。
然而,一些用户告诉我,“有时”他们会在第二天再次签到,并且结帐仍然可用。
我怀疑他们忘记点击它,但我想知道这个 SharedPreferencces 是否有机会自行清除?
这是我保存签入状态的代码的一部分:
SharedPreferences preferences = getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("statuscheckin", 1); //1 for checkin, 0 for checkout
editor.commit();
这是我检查的部分
if (getSharedPreferences("MyPreferences", Context.MODE_PRIVATE).getInt("statuscheckin", 0) == 1) {...}
解决方案
除非您清除存储/缓存,否则 SharedPreferences 不会自行清除。
- 确保您不会因任何情况发生而自行清除它。
- 如果您仅获取默认值,则您可能会在提交该值之前使用它。
推荐阅读
- node.js - Firestore - 一个循环中的深度集合查询
- visual-studio-code - VS Code Extensions 突然崩溃
- java - ABCL 的解释器可以从 InputStream 加载 Lisp 源吗?
- javascript - 错误覆盖权限
- c# - Blazor wasm,网络核心托管,具有身份验证,应用程序用户和我在共享项目中的模型之间的关系
- mysql - phpmyadmin 中的多个查询 - 使用坐标、斜率、截距、角度等的距离
- python - 无法在 Anaconda 上启动特定应用程序
- excel - 如何使用 VBA 动态自动填充目标?
- javascript - 在同一个模块的导出对象中引用时是否克隆了“this”?
- docker - Docker部署中的Heroku多个命令