Android丶数据存储 ---- SharedPreferences

1. SharedPreferences 与 Editor 简介
对于应用中需要少量的数据进行存储,并且数据的格式很简单(如字符串、标量数值等)的。比如应用各种配置信息、小数据等,Android提供SharedPreferences进行保存。

SharedPreferences保存的数据主要是类似配置信息格式的数据,所以它保存的数据主要是简单的“key-value对”。

SharedPreferences接口主要负责读取应用程序的Preferences数据。它提供如下方法来访问SharedPreferences中的key-value对:
1.  boolean contains(String key)  :判断SharedPreferences是否包含特定key的数据。
2.  Map<String,?> getAll()  :获取SharedPreferences里全部的key-value对。
3.  Xxx getXxx(String key, Xxx defValue)  :获取指定key对应的value,如果key不存在,则返回默认值defValue。

SharedPreferences接口本身未提供写入数据的能力,而是通过其内部接口。其调用 SharedPreferences.edit()  方法即可获得它所对应的  SharedPreferences.Editor对象。Editor有如下向SharedPreferences写入数据的方法:
1.  Editor.clear()  :清空SharedPreferences里所有数据。
2.  Editor.putXxx(String key, Xxx Value)  :向SharedPreferences里存入指定key对应的数据。
3.  Editor.remove(String key)  :删除SharedPreferences里指定key对应的数据项。
4.  boolean Editor.commit()  :当Editor编辑完成后,调用该方法提交修改。

SharedPreferences本身是一个接口,程序无法直接创建实例,只能通过 Context提供的 getSharedPreferences(String name, int mode)方法获取实例。其中mode有如下值:
Context.MODE_PRIVATE  :指定该SharedPreferences数据只能被本应用读、写。
Context.MODE_WORLD_READABLE  :指定该SharedPreferences数据也能被其他应用程序读,但不能写。
Context.MODE_WORLD_WRITEABLE  :指定该SharedPreferences数据也能被其他应用程序读、写。



2. SharedPreferences的存储位置和格式
SharedPreferences数据总是保存在:  /data /data /<package_name> /shared_prefs  目录下,以XML格式保存,根元素为:<map />。
<map>
<int name="key" value="value" />
<string name="key" > value </string>
</map>



3. SharedPreferences的使用
SharedPreferences preferences = getSharedPreferces("name", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
//写入数据
editor.putXxx("name1",value1);
.............................
editor.commit();
//读取数据
Xxx name2 = preferences.getXxx("name1",defValue);




4. 读写其他应用的SharedPreferences
1.创建其他应用的对应 Context。
Context useContext = createPackageContext("package_name", Context.CONTEXT_IGNORE_SECURITY);
2.调用其他应用的 Context的 getSharedPreferences()方法获取 SharedPreferences对象。
3.调用其他应用的 SharedPreferences.edit() 方法获得相应的 SharedPreferences.Editor对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值