SharedPreferences作为Android中的轻量级存储,读写操作都非常简单,使用的也非常广泛。
一般存储一些用户的不重要的信息和一些参数等。以键值对的方式存储。存放于/data/data/包名/shared_prefs目录下
1.一般使用
代码语言:javascript复制SharedPreferences sp = getSharedPreferences("config", Context.MODE_PRIVATE);//文件名,权限
Editor editor = sp.edit();//编辑器
editor.putString("name", "小明");
editor.putInt("age", 18);
editor.commit();//提交
2.高级使用
a.简单封装
代码语言:javascript复制public class SpUtil {
public static final String FILE_NAME = "config";
private static Activity activity;
public static SharedPreferences sp;
public static void setActivity(Activity act) {
activity = act;
sp = activity.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
}
public static Activity getActivity() {
return activity;
}
public static void setString(String key, String value) {
sp.edit().putString(key, value).commit();
}
public static void removeString(String key) {
sp.edit().remove(key).commit();
}
public static String getString(String key) {
return sp.getString(key, "");
}
public static void setBoolean(String key, boolean value) {
sp.edit().putBoolean(key, value).commit();
}
public static boolean getBoolean(String key) {
return sp.getBoolean(key, false);
}
}
b.使用
在Activity中或者BaseActivity的onCreate中加上
代码语言:javascript复制SpUtil.setActivity(this);
然后就可以极简便的使用了,根据对应的key获取对应的value
写:
代码语言:javascript复制SpUtil.setString("testKey", "testValue");
读:
代码语言:javascript复制String testData = SpUtil.getString("testKey");
最后加上读写权限。