SharedPreferences基本使用
SharedPreferences是Android平台上用于存储如配置信息等轻量级存储数据的接口。它以键值对(key-value)的形式对信息进行存储。
一、用法介绍
1:SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE); //创建一个SharedPreferences对象
SharedPreferences创建的四种形式
(1)Context.MODE_PRIVATE
默认操作模式,表示xml存储文件是私有的,只能在创建文件的应用中访问
(2) Context.MODE_APPEND
追加模式,模式会检查文件是否存在,如果文件存在,就往文件末尾进行追加,否则创建新文件
(3)Context.MODE_WORLD_READABLE
开放读模式,用来控制其他应用是否有权限读该文件。存在安全漏洞
(4)Context.MODE_WORLD_WRITEABLE
开放写模式,用来控制其他应用是否有权限写该文件。存在安全漏洞
2:通过edit()获取Editor对象(编辑器)
Editor editor = sp.edit();
3:通过editor对象存储键值对的操作
editor.putString(key, (String) obj);
editor.putBoolean(“isFirst”, false);
4:通过commit()提交数据
editor.commit();//保存数据到缓冲,另外取数据可以通过sp.getBoolean("isFirst",true);实现
二、示例如下
/** * 缓冲信息存储 * @author Mr.Dong * */
public class SpUtils {
/** * 将数据保存在缓冲中 * @param context * @param key * @param obj */
public static void save(Context context,String key,Object obj){
//Context.MODE_PRIVATE为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,
//如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
//编辑器
Editor editor = sp.edit();
if(obj instanceof String){
editor.putString(key, (String) obj);
}else if(obj instanceof Boolean){
editor.putBoolean(key, (Boolean) obj);
}
editor.commit();//保存数据到缓冲
}
/** * 获取SharedPreferences的实例 * @param context * @return */
public static SharedPreferences get(Context context){
return context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
}