一 简单介绍SharedPreferences
SharedPreferences是Android平台上一个轻量级的存储类,是一种最容易理解和使用的存储技术,主要用于存储一些应用程序的配置参数,例如用户名.密码.自定义参数的设置等。
它是通过key/value(键值对)的形式将数据保存在XML文件中,该文件位于data/data//shared_prefs文件夹中。需要注意的是, SharedPreferences中的value值只能是Float.int.Long.Boolean.String.StringSet类型数据。接下来将针对SharedPreferences存储数据进行详细解说。
二 SharedPreferences数据的四种操作模式
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容。
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE:用来控制其他应用是否有权限读写该文件。
三 使用SharedPreferences保存key/value的步骤
使用Activity类的getSharedPreferences方法获得SharedPreferences对象,其中存储key-value的文件名由getSharedPreferences方法的第一个参数指定。
使用SharedPreferences接口的edit获得SharedPreferences.Editor对象。
通过SharedPreferences.Editor接口的putXxx方法保存key-value对,其中Xxx表示不同的数据类型。例如:字符串类型的value需要用putString方法。
通过SharedPreferences.Editor接口的commit方法保存key-value对,commit方法相当于数据库事务中的提交操作。
四 存储数据与获取数据的示例代码
- 存储数据
使用SharedPreferences类存储数据时,首先需要调用getSharedPreferences(String name,int mode)方法获取实例对象。由于该对象本身只能获取数据,不能对数据进行存储和修改,因此需要调用SharedPreferences的edit()方法获取到可编辑的Editer对象,最后通过该对象的putString()方法和putInt()方法存储数据。示例代码如下:
a. 打开Preferences,名称为setting,如果存在则打开它,否则创建新的Preferences
SharedPreferences userSettings = getSharedPreferences(“setting”, 0);
b.让setting处于编辑状态
SharedPreferences.Editor editor = userSettings.edit();
c.存入数据
editor.putString(“name”,“aaa”);
editor.putString(“age”,“20”);
d.提交修改
editor.commit();
从上述代码可以看出,Editor对象是以key/value的形式保存数据的,并且根据数据类型的不同