数据存储:SharedPreferences
一、基础概要
1、说明
1>主要用于存储单一小数据;
2>存储类型:boolean、float、String、long、int
3>数据保存路径:/data/data/packageName/shared_prefs/xxx.xml
4>应用卸载时会删除此数据(实际上---包名文件夹下所有数据在应用卸载是都会删除"packageName")
5>可以设置操作数据的权限,eg.只能是当前应用读取--MODE_PRIVATE(默认)
MODE_WORLD_WRITEABLE
MODE_WORLD_READABLE
MODE_MULTI_PROCESS
操作数据的权限可以通过查看源码得到,这些注释都写在源码注释上;
2、SharedPreferences 对应sp文件接口
---SharedPreferences context.getSharedPreferences(String name,int mode) 得到sp实现类的对象
参数一:文件名(不带.xml,已经固定)
参数二:生成文件模式,包括上述四种。
---Editor sp.edit() 得到Editor对象
---Xxxsp.getXxx(name,defaultValue) 根据name得到指定数据,如果得不到返回defaultValue
3、Editor 更新sp文件接口
---Editor put(name,value) 保存一个键值对(但没有真正保存到文件中)
---Editor remove(name)
---Editor commit() 提交,数据真正保存到文件中。
以上方法返回值一样都是Editor类型,可以搞个方法链调用。
二、练习
1、保存数据步骤:
1>得到sp对象
2>得到editor对象
3>得到要保存的数据
4>使用editor保存数据
5>提交
2、读取数据步骤:
1>得到要查询数据的key
2>根据key读取value
sp.getXxx(key,value);
三、重要代码
保存数据:
SharedPreferences sp=getSharedPreferences("kk", MODE_PRIVATE);
Editor ed=sp.edit();
//方法链调用
ed.putString("向日葵", "我是一朵美丽的向日葵")
.putString("向日葵", "我还是一朵美丽的向日葵") //覆盖上一句value
.putString("康康", "我还是一朵美丽的向日葵")
.putInt("谢荣康", 23)
.putString("砂锅轩","不好吃").commit();
Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
通过以上实验,每一个key对应一个唯一的value;存储文件如下:
文件存储路径:
读取数据:
android-数据存储之SharedPreferences
原文:http://www.cnblogs.com/iamkk/p/5968006.html