public class SharedPreferencesDanLi {
private String filename;
private Context context;
private android.content.SharedPreferences SharedPreferences;
public SharedPreferencesDanLi(String filename, Context context) {
this.filename = filename;
this.context = context;
SharedPreferences=context.getSharedPreferences(filename, Context.MODE_PRIVATE);
}
private static SharedPreferencesDanLi sharedPreferencesDanLi;
//提供一个公共的、静态的、返回值类型是当前本类的对象
public static SharedPreferencesDanLi getSharedPreferencesDanLi(String filename, Context context){
if(sharedPreferencesDanLi == null){
synchronized (SharedPreferencesDanLi.class){
if(sharedPreferencesDanLi == null) {
sharedPreferencesDanLi = new SharedPreferencesDanLi(filename,context);
}
}
}
return sharedPreferencesDanLi;
}
public void putVules(String key,Object o){
SharedPreferences.Editor editor = SharedPreferences.edit();
//如果是字符型类型
if (o instanceof String) {
editor.putString(key, o.toString()).commit();
}
//如果是int类型
if (o instanceof Integer) {
editor.putInt(key, Integer.parseInt(o.toString())).commit();
}
//如果是Long类型
if (o instanceof Long) {
editor.putLong(key, Long.parseLong(o.toString())).commit();
}
//如果是布尔类型
if (o instanceof Boolean) {
editor.putBoolean(key, Boolean.parseBoolean(o.toString())).commit();
}
}
//获取数据的方法
public String getString(String key) {
return SharedPreferences.getString(key, null);
}
public boolean getBoolean(String key) {
return SharedPreferences.getBoolean(key, false);
}
public int getInt(String key) {
return SharedPreferences.getInt(key, -1);
}
public long getLong(String key) {
return SharedPreferences.getLong(key, -1);
}
//清除当前文件的所有的数据
public void clear() {
SharedPreferences.edit().clear().commit();
}
}
单例大家都会用直接用就好了亲测实战中使用。