正文  数据库 > Preferences >

Android SharedPreferences

一,SharedPreferences简介 SharedPreferences是轻量级存储类,只能存放基本数据类型,且只能在本程序中使用,一般用于存放软件的配置参数(字体,颜色,位置,默...

一,SharedPreferences简介
SharedPreferences是轻量级存储类,只能存放基本数据类型,且只能在本程序中使用,一般用于存放软件的配置参数(字体,颜色,位置,默认参数等),整体效率俩看不是特别的高,但是对于常规的轻量级而言,比SQLite要好不少。
SharedPreferences是以键值对来存储应用程序的配置信息的一种方式,基本上和J2SE(java.util.prefs.Preferences)中的用法一样。存放的数据在底层是以xml文件的格式存储在设备中的,存放于/data/data/PACKAGE_NAME/shared_prefs目录下面。
 
二, SharedPreferences基本使用方法
可通过context.getSharedPreferences (String name, int mode) 或者Activity. getSharedPreferences (int mode)方法获得SharedPreferences对象
name:存储的xml文件名字,若不存在则会创建该xml文件.
mode:操作模式有MODE_PRIVATE(0),MODE_WORLD_READABLE(1),MODE_WORLD_WRITEABLE(2)三种一般用第一个就可以了.
 
然后调用SharedPreferences对象的edit()方法,使其处于可编辑状态,才可写入数据,代码如下:
Editor editor = sharedPreferences.edit();
editor.putInt("grade", 2008);
editor.putString("team_name", "luckyXmobile");
editor.commit();//提交偏好变化到所编辑的xml
 
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="team_name">luckyXmobile</string>
<int name="grade" value="2008" />
</map>
 
读取数据则只需要获得SharedPreferences对象即可:
sharedPreferences.getString("team_name", "luckyXmobile");
sharedPreferences.get Int("grade", 2008);
若Preferences中不存在这个值,那么后面的参数就作为默认值返回,这样会省去为空的判断。
本文出自 “HDDevTeam” 博客