SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存。
一般会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在 XML文件中,再用SharedPreferences保存。
使用SharedPreferences保存key-value对的步骤如下:
(1)使用Activity类的getSharedPreferences方法获得SharedPreferences对象,其中存储key-value的文件的名称由getSharedPreferences方法的第一个参数指定。
(2)使用SharedPreferences接口的edit获得SharedPreferences.Editor对象。
(3)通过SharedPreferences.Editor接口的putXxx方法保存key-value对。其中Xxx表示不同的数据类型。例如:字符串类型的value需要用putString方法。
(4)通过SharedPreferences.Editor接口的commit方法保存key-value对。commit方法相当于数据库事务中的提交操作。
在Android系统中,这些信息以XML文件的形式保存在 /data/data/package name/shared_prefs 目录下。
使用步骤:
一 存放数据信息
(1)打开Preferences,如果存在则打开它,否则创建新的Preferences
SharedPreferences sharedPrefs = getSharedPreferences("user_info", 0);
(2)让SharedPreferences处于编辑状态
Editor editor = sharedPrefs.edit();
(3)存放数据
editor.putString("name",”name”);
editor.putInt("age”,”10);
(4)完成提交
editor.commit();
二 读取数据信息
1、获取Preferences
SharedPreferences sharedPrefs = getSharedPreferences("user_info", 0);
2、取出数据
String name = sharedPrefs.getString("name", "default");
int age = sharedPrefs.getInt("age", -1);
SharedPreferences支持的访问方式如下:
(1)MODE_PRIVATE 私有、新内容覆盖原内容
(2)MODE_APPEND 新内容追加到原内容
(3)MODE_WORLD_READABLE 全局读、允许其他应用程序读取
(4)MODE_WORLD_WRITEABLE 全局写、允许其他应用程序写入,会覆盖原数据