android中SharedPreferences

SharedPreferences:用于存储少量并且数据格式简单,基本上都是普通的字符串,标量类型的值,比如:应用程序的各种配置信息等。

SharedPreferences:保存的数据格式主要是key-value对

主要方法:

boolean contains(String key):判断是否包含特定key的数据

Map<String, ?> getAll():获取全部的数据

Xxx getXxx(String key, boolean defValue):获取指定key的值,如果不存在则返回defValue

SharedPreferences本身没有编辑功能,通过调用内部的接口可以实现编辑。调用edit()方法返回Editor对象,Editor提供了如下方法向SharedPreferences写入数据:

clear():清空数据

putXxx(String key, Xxx value):放入数据

remove(String key):删除数据

commit():当Editor编辑完成后,调用该方法提交修改

SharedPreferences本身是一个接口,程序无法创建SharedPreferences的实例,只能通过Context提供的SharedPreferences getSharedPreferences(String name, int mode)方法获取SharedPreferences实例:

第一个参数是文件的名称,不能带有后缀

第二个参数的含义:

Context.MODE_PRIVATE:只能被本应用读写

Context.MODE_WORLD_READABLE:能被其他的应用读,但是不能写

Context.MODE_WORLD_WRITEABLE:可以被其他的应用读和写

SharedPreferences本质是以XML格式的文档存数数据的。

SharedPreferences数据的存储总是保存在/data/data/<package_name>/shared_prefs目录下。

写入数据:

btn = (Button) findViewById(R.id.btn);
 preferences = this.getSharedPreferences("hml", this.MODE_PRIVATE);
 editor = preferences.edit();
 editor.putString("test", "test");
 editor.commit();

访问其他应用程序SharedPreferences中的数据

前提是其他应用程序创建SharedPreferences时指定的MODE是Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE

 

步骤:

1、创建其他应用程序的Context对象:Context createPackageContext(String packageName, int flags)

packageName:是其他应用程序的包名,在android中包名唯一标示一个应用程序

2、调用Context的getSharedPreferences(String name, int mode)获取SharedPreferences对象

3、其他操作和操作自己的SharedPreferences一样

 

 

 

posted @ 2014-02-25 17:45  天之涯0204  阅读(186)  评论(0编辑  收藏  举报