文档章节

SharedPreferences的使用注意事项

40岁的青春
 40岁的青春
发布于 2015/04/21 13:49
字数 222
阅读 178
收藏 0

如果使用SharedPreferences用于数据存取,大部分人喜欢使用如下代码:

public void writeSharedprefs(int pos) {   
    SharedPreferences preferences = getApplicationContext().getSharedPreferences("info", Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = preferences.edit(); 
    editor.putInt("t1", t1); 
    editor.commit();

 
public int writeSharedprefs() { 
    SharedPreferences preferences = getApplicationContext().getSharedPreferences("info", Context.MODE_PRIVATE); 
    int pos = preferences.getInt("t1", 0); 
    return pos; 

但很多人忽略了一点,就是跨进程使用的时候,你就会发现从SharedPreferences读出来的数据永远都是第一次写入的数据。 举例,例如播放器是一个独立进程,另外某个Activity是另一个独立进程,播放器与这个Activity利用SharedPreferences通信的时候,如果使用MODE_PRIVATE操作模式,就会出错。

所以,如果跨进程使用SharedPreferences的使用,需要使用MODE_MULTI_PROCESS模式,代码如下:
public void writeSharedprefs(int pos) { 
    SharedPreferences preferences = getApplicationContext().getSharedPreferences("info", Context.MODE_MULTI_PROCESS); 
    SharedPreferences.Editor editor = preferences.edit(); 
    editor.putInt("t1", t1); 
    editor.commit();  

 
public int writeSharedprefs() { 
    SharedPreferences preferences = getApplicationContext().getSharedPreferences("test", Context.MODE_MULTI_PROCESS); 
    int t1 = preferences.getInt("t1", 0); 
    return pos; 
}

© 著作权归作者所有

40岁的青春
粉丝 2
博文 72
码字总数 14325
作品 0
朝阳
私信 提问
SharedPreferences

SharedPreferences是一种轻量级的数据存储方式,学过Web开发的同学,可以想象它是一个小小的Cookie。它可以用键值对的方 式把简单数据类型(boolean、int、float、long和String)存储在应用程序...

娶到笨笨
2014/04/03
191
0
Android开发之SharedPreferences

1、使用SharedPreferences进行数据存储 Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是...

feng_blog
2015/09/02
71
0
Android中SharedPreferences的基本使用

SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据 //实例化SharedPreferenc...

Erichkko
2015/09/08
90
0
数据存储与访问之——SharedPreferences

  使用SharedPreferences(保存用户偏好参数)保存数据, 当我们的应用想要保存用户的一些偏好参数,比如是否自动登陆,是否记住账号密码,是否在Wifi下才能 联网等相关信息,如果使用数据库的...

溺心与沉浮
08/28
0
0
Android中SharedPreferences用法

1.SharedPreferences简介 为了保存软件的设置参数,Android 平台为我们提供了一个SharedPreferences 类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences 保存...

ForingY
2016/07/22
4
0

没有更多内容

加载失败,请刷新页面

加载更多

Hibernate 5 的模块/包(modules/artifacts)

Hibernate 的功能被拆分成一系列的模块/包(modules/artifacts),其目的是为了对依赖进行独立(模块化)。 模块名称 说明 hibernate-core 这个是 Hibernate 的主要(main (core))模块。定义...

honeymoose
34分钟前
3
0
CSS--属性

一、溢出 当内容多,元素区域小的时候,就会产生溢出效果,默认是纵向溢出 横向溢出:在内容和容器之间再套一层容器,并且内部容器要比外部容器宽 属性:overflow/overflow-x/overflow-y 取值...

wytao1995
53分钟前
4
0
精华帖

第一章 jQuery简介 jQuery是一个JavaScript库 jQuery具备简洁的语法和跨平台的兼容性 简化了JavaScript的操作。 在页面中引入jQuery jQuery是一个JavaScript脚本库,不需要特别的安装,只需要...

流川偑
今天
6
0
语音对话英语翻译在线翻译成中文哪个方法好用

想要进行将中文翻译成英文,或者将英文翻译成中文的操作,其实有一个非常简单的工具就能够帮助完成将语音进行翻译转换的软件。 在应用市场或者百度手机助手等各大应用渠道里面就能够找到一款...

401恶户
今天
3
0
jenkins 插件下载加速最终方案

推荐做法 1、告诉jenkins 我哪些插件需要更新 jenkins插件清华大学镜像地址 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 1.进入jenkins系统管理 2.进入插件管...

vasks
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部