向用户提供软件参数设置功能
SharedPreferences sharedPreferences = getSharedPreferences("唯一的文件名", Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();//获取编辑器
editor.putString("name", "林计钦");//设置参数
editor.putInt("age", 24);//设置参数
editor.remove("KEY");//清空指定数据
editor.clear();//清空所有数据
editor.commit();//提交修改
getSharedPreferences(String name, int mode)
name为本组件的配置文件名( 自己定义,也就是一个文件名)
mode为操作模式,默认的模式为0。
mode指定为MODE_PRIVATE,则该配置文件只能被自己的应用程序访问。
MODE_WORLD_READABLE,则该配置文件除了自己访问外还可以被其它应该程序读取。
MODE_WORLD_WRITEABLE,则该配置文件除了自己访问外还可以被其它应该程序读取和写入。
MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
得到数据
SharedPreferences sharedPreferences = getSharedPreferences("ljq", Context.MODE_PRIVATE);
//getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 1);
SharedPreferences自定义工具类
public class SpUtil {
private static SpUtil mInstance;
private static SharedPreferences sp;
public SpUtil(String filekey, int mode) {
sp = BaseApplication.context.getSharedPreferences(filekey, mode);
}
// 删除指定表直接调用SpUtil.getInstance("唯一文件名",MODE_PRIVATE).clean()
public static SpUtil getInstance(String filekey, int mode) {
if (mInstance == null) {
mInstance = new SpUtil(filekey, mode);
} else {
sp = BaseApplication.context.getSharedPreferences(filekey, mode);
}
return mInstance;
}
public void remove(String key) {
sp.edit().remove(key).commit();
}
public void clean() {
sp.edit().clear().commit();
}
public void putInt(String key, int value) {
sp.edit().putInt(key, value).commit();
}
public void putBoolean(String key, boolean value) {
sp.edit().putBoolean(key, value).commit();
}
public void putFloat(String key, Float value) {
sp.edit().putFloat(key, value).commit();
}
public void putString(String key, String value) {
sp.edit().putString(key, value).commit();
}
public void putLong(String key, long value) {
sp.edit().putLong(key, value).commit();
}
public int getInt(String key) {
return sp.getInt(key, 0);
}
public boolean getBoolean(String key) {
return sp.getBoolean(key, false);
}
public boolean getBoolean(String key, boolean defValue) {
return sp.getBoolean(key, defValue);
}
public float getFloat(String key) {
return sp.getFloat(key, 0.0f);
}
public String getString(String key) {
return sp.getString(key, "");
}
public long getLong(String key) {
return sp.getLong(key, 0);
}
}