加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Android中Shared Preferences的实施

发布时间:2021-12-22 13:14:43 所属栏目:PHP教程 来源:互联网
导读:SharedPreference是一种比较适合少量数据的存储方式,类似于HashMap,采用的键-值得关系,使用起来非常非常的简单,并且还能够对数据的变动进行监控。 例如,一些默认欢迎语、登录的用户名和密码等。其以键值对的方式存储,使得我们可以很方便的读取和存入,
SharedPreference是一种比较适合少量数据的存储方式,类似于HashMap,采用的键-值得关系,使用起来非常非常的简单,并且还能够对数据的变动进行监控。
 
例如,一些默认欢迎语、登录的用户名和密码等。其以键值对的方式存储,使得我们可以很方便的读取和存入,
 
监控数据变动直接通过:
 
preference.registerOnSharedPreferenceChangeListener(this);
 
那么当你用editor.putString(key,value);将原来的key对应的value改变后,那么在
 
nces, String key)这个接口中可以对这个时间进行监控.
 
onSharedPreferenceChanged(SharedPreferences sharedPrefer e
 
我们可以通过[getXXX]函数,从SharedPreferences中读取不同类型的内容,例如,上面我们使用的是[getString]读取String类型的内容。
 
存储数据:
 
//通过Activity自带的getSharedPreferences方法,得到SharedPreferences对象      
//第一个参数表示保存后 xml 文件的名称(底层实现是将数据保存到xml文档中)。      
//第二个参数表示xml文档的权限为私有,并且重新写的数据会覆盖掉原来的数据      
SharedPreferences preferences = getSharedPreferences("user", Context.MODE_PRIVATE);            
//通过preferences得到它的编辑器对象edit      
 Editor edit = preferences.edit();     
//通过编辑器将name属性和对应的nameText中输入的值写入到xml文档中      
edit.putString("name", nameText.getText().toString());     
//通过编辑器将age属性和对应的ageText中输入的值写入到xml文档中      
String ageStr = ageText.getText().toString();     
if(ageStr != null || "".equals(ageStr.trim()))     
edit.putInt("age", new Integer(ageStr));     
//添加数据完成后,提交编辑器的添加操作      
edit.commit();   
获取数据:
 
注: 其它应用调用此参数文件:
//创建需要调用的参数保存文件应用的Context
//第一参数为保存文件所存在的包名
//第二个参数表示 忽略安全级别
//注: 这里的 this.getContext()是得到当前应用的上下文,因为本测试环境是继承 AndroidTestCase ,如果在Activity中可以直接使用createPackageContext方法
Context context = this.getContext().createPackageContext("cn.android.preference", this.getContext().CONTEXT_IGNORE_SECURITY);
//通过创建的context得到preferences对象
SharedPreferences preferences = context.getSharedPreferences("user", context.MODE_WORLD_READABLE);
//通过对象取得文件里面的值,也可以写入,这里就不再测试了
String name = preferences.getString("name", "abc");
//将得到的值方在日志中,以便看程序是否正确执行
Log.e("TestSharedPreferenceParser",name);
/** 需要注意的是:此文件在被其它应用读取的时候,其权限必须包含 context.MODE_WORLD_READABLE,否则无法找到  */  
 
 
 
 
 
 
 

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读