SharedPreferences简单的封装单例拿去用



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();
    }
}

单例大家都会用直接用就好了亲测实战中使用。

猜你喜欢

转载自blog.csdn.net/q992767879/article/details/112981718