Android SharedPreferences存储读取数据
来源:互联网 发布:游戏编程要看哪些书 编辑:程序博客网 时间:2024/06/04 19:20
需要使用SharedPreferences保存数据时,一般代码:
/*
* @param name Desired preferences file
* @param mode Operating mode
* Use 0 or {@link #MODE_PRIVATE} for the default operation, {@link #MODE_WORLD_READABLE} and {@link #MODE_WORLD_WRITEABLE} to control permissions.
*/
SharedPreferences sharedPreferences = getSharedPreferences(String name, int mode);//源码对于mode说明了三种模式,一般都是给0
SharedPreferences.Editor spe = sharedPreferences.edit();
spe.putBoolean("key", value);
spe.commit();
这样很简单就保存好了,读取的时候
sharedPreferences .getBoolean("key", false);
之前遇到一个问题,在一个activity中做了一些操作,通过SharedPreferences 保存了一个value,返回上一个activity读取时发现读到的结果还是以前的结果。
考虑是否是由于一开始设置getSharedPreferences("name", 0)第二个参数0导致获取的SharedPreferences 的问题。
查看源码对于参数 Mode各种模式的说明,发现MODE_MULTI_PROCESS 应该是可以用的,果然修改下代码就成功了。
源码对MODE_MULTI_PROCESS 的解释大致是:设置时,磁盘上的文件读取之前将检查修改,保证其他地方对文件的修改pull最新。
这对于进程之间修改同一个文件也是有用的,如果协调并发还是需要使用ContentProvider。在Android2.3之后需要手动设置此Mode,之前版本默认是支持的。
Android现在更支持的是通过BroadcastReceiver、ContentProvider、Services等方式来达到共享数据。
对于设置默认模式的SharedPreferences获取数据一直不变的根本原因, 是由于sharedPreferences根据context获取,保存在缓存区中,如果没有gc或者在使用此sharedPreferences进行修改,读取的依然是之前数值。
- Android SharedPreferences存储读取数据
- Android-SharedPreferences存储数据与读取
- Android SharedPreferences存储和读取数据
- Android SharedPreferences存储数据与读取
- SharedPreferences存储读取数据
- Android 使用SharedPreferences进行数据存储和读取数据
- Android 使用SharedPreferences进行数据存储和读取数据
- SharedPreferences存储和读取数据
- SharedPreferences存储和读取数据
- SharedPreferences存储和读取数据
- SharedPreferences存储和读取数据
- SharedPreferences存储和读取数据
- SharedPreferences存储和读取数据
- SharedPreferences存储和读取数据
- Android数据存储-SharedPreferences
- Android数据存储---SharedPreferences
- Android数据存储---SharedPreferences
- android SharedPreferences数据存储
- 关于SVD(Singular Value Decomposition)的那些事儿
- C++中模板的特化与偏特化
- 读写INI文件UTF8格式
- python-优矿-期权合成期货策略
- KSGT
- Android SharedPreferences存储读取数据
- Sql server 镜像线上部署注意的地方
- SpringMVC 初次搭建
- 基于Cisco Packet Tracer的基础命令操作及组网实验
- 变分自编码器(Variational Autoencoder, VAE)通俗教程
- TypeScript 学习笔记9: Real-World Application Development
- 软件测试流程
- C# 校验帮助类-正则表达式
- 516 Longest Palindromic Subsequence