1.定义
Android平台上一个轻量级的存储类,用来保存应用的一些常用配置。
2.存储路径
使用SharedPreferences保存数据,内部用xml文件存放数据,文件存放在/data/data/<packagename>/shared_prefs目录下
3.可保存类型
string,int,float,long,boolean
4.操作模式
模式名称 描述 Context.MODE_PRIVATE 默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容 Context.MODE_APPEND 模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件. MODE_WORLD_READABLE 当前文件可以被其他应用读取;出于安全性的考虑Android 4.2版本中已经被弃用 MODE_WORLD_WRITEABLE 当前文件可以被其他应用写入;出于安全性的考虑Android 4.2版本中已经被弃用
5.使用
SharedPreferences sharedPreferences = getSharedPreferences ( "cwf" , Context. MODE_PRIVATE) ;
SharedPreferences. Editor editor = sharedPreferences. edit ( ) ;
editor. putString ( "name" , "陈伟飞" ) ;
editor. putInt ( "age" , 25 ) ;
editor. putFloat ( "weight" , 80f ) ;
editor. putLong ( "height" , 175 L) ;
editor. putBoolean ( "isMarried" , false ) ;
editor. commit ( ) ;
SharedPreferences sharedPreferences = getSharedPreferences ( "cwf" , Context. MODE_PRIVATE) ;
String name = sharedPreferences. getString ( "name" , "" ) ;
int age = sharedPreferences. getInt ( "age" , 18 ) ;
boolean married = pref. getBoolean ( "married" , false ) ;
6.封装
public class SharePreferenceUtils {
private static final String FILE_NAME = "userdb" ;
public static void setParam ( Context context , String key, Object object) {
String type = object. getClass ( ) . getSimpleName ( ) ;
SharedPreferences sp = context. getSharedPreferences ( FILE_NAME, Context. MODE_PRIVATE) ;
SharedPreferences. Editor editor = sp. edit ( ) ;
if ( "String" . equals ( type) ) {
editor. putString ( key, ( String) object) ;
}
else if ( "Integer" . equals ( type) ) {
editor. putInt ( key, ( Integer) object) ;
}
else if ( "Boolean" . equals ( type) ) {
editor. putBoolean ( key, ( Boolean) object) ;
}
else if ( "Float" . equals ( type) ) {
editor. putFloat ( key, ( Float) object) ;
}
else if ( "Long" . equals ( type) ) {
editor. putLong ( key, ( Long) object) ;
}
editor. commit ( ) ;
}
public static Object getParam ( Context context , String key, Object defaultObject) {
String type = defaultObject. getClass ( ) . getSimpleName ( ) ;
SharedPreferences sp = context. getSharedPreferences ( FILE_NAME, Context. MODE_PRIVATE) ;
if ( "String" . equals ( type) ) {
return sp. getString ( key, ( String) defaultObject) ;
}
else if ( "Integer" . equals ( type) ) {
return sp. getInt ( key, ( Integer) defaultObject) ;
}
else if ( "Boolean" . equals ( type) ) {
return sp. getBoolean ( key, ( Boolean) defaultObject) ;
}
else if ( "Float" . equals ( type) ) {
return sp. getFloat ( key, ( Float) defaultObject) ;
}
else if ( "Long" . equals ( type) ) {
return sp. getLong ( key, ( Long) defaultObject) ;
}
return null;
}
public static void clear ( Context context) {
SharedPreferences sp = context. getSharedPreferences ( FILE_NAME,
Context. MODE_PRIVATE) ;
SharedPreferences. Editor editor = sp. edit ( ) ;
editor. clear ( ) . commit ( ) ;
}
public static void clearAll ( Context context , String key) {
SharedPreferences sp = context. getSharedPreferences ( FILE_NAME,
Context. MODE_PRIVATE) ;
SharedPreferences. Editor editor = sp. edit ( ) ;
editor. remove ( key) ;
editor. commit ( ) ;
}
}