Android项目数据存储之SharedPreferences。SharedPreference的本质是基于XML文件存储的key-value键值对数据,存储的文件路径为/data/data/<包名>/shared_prefs目录下。
注意:SharedPreference只能保存简单的数据类型,如string,int类型。一般会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在 XML文件中,再用SharedPreferences保存。
1.存储数据
/** *创建SharedPreferences对象,getSharedPreferences()方法中第一个参数为文件名称,第二个参数为指定应用程序访问权限。 *SharedPreferences的四种操作模式: *Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容。 *Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。 *MODE_WORLD_READABLE:表示当前文件可以被其他应用读取。 *MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。 */ SharedPreferences sp = getSharedPreferences("user",Context.MODE_PRIVATE); /** *使用SharedPreferences接口的edit获得SharedPreferences.Editor对象,让user处于编辑状态。 */ SharedPreferences.Editor editor = sp.editor(); /** * 通过SharedPreferences.Editor接口的putXxx方法保存key-value对。其中Xxx表示不同的数据类型。例如:字符串类型的value需要用putString方法。 */ editor.putString("name","zhangbiao"); editor.putString("psw","110"); /** * 通过SharedPreferences.Editor接口的commit方法保存key-value对 */ editor.commit();2.读取数据
SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE); String name = sp.getString("name","默认值"); String psw = sp.getString("psw", "default");
SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.remove("name"); editor.commit();4.清空数据
SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.clear(); editor.commit();