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一样