引言
之前项目使用了SharedPreferences来保存数据,然而项目修改为多进程后,SharedPreferences保存数据却出现了数据没有更新的问题,当然SharedPreferences设置了MODE_MULTI_PROCESS后可以使数据同步,不过官方已经废弃了原先的MODE_MULTI_PROCESS, 并且建议跨进程存取值还是用ContentProvider之类的更靠谱一些。
思路分析
由于ContentProvider提供了对底层数据存储方式的抽象,底层我们可以使用SQLite,MongoDB等等,当然也可以使用SharedPreferences来实现
调用用法
继承
![](https://i-blog.csdnimg.cn/blog_migrate/858b672b69f5bf7c1494d48204972f71.webp?x-image-process=image/format,png)
image
声明
![](https://i-blog.csdnimg.cn/blog_migrate/8a8154c63bd2aa668cb1cbf717d0757d.webp?x-image-process=image/format,png)
image
相关API
![](https://i-blog.csdnimg.cn/blog_migrate/2d52c144f0238dd733e0445b82a45bc5.webp?x-image-process=image/format,png)
image
![](https://i-blog.csdnimg.cn/blog_migrate/670caa71af5292046caadd6f274bfc33.webp?x-image-process=image/format,png)
image
源码
- 项目地址:ContentProvider封装SharedPreferences功能,解决跨进程存取值的问题
- 具体的代码和调用Demo:https://pan.baidu.com/s/15SixU_nviX1ppK74gxL3dg 密码: u8hw
参考
http://bbs.51cto.com/thread-1070974-1.html
最后
如果有问题,可到github上面留言。