美文网首页需要使用
安卓SharePreference工具类封装

安卓SharePreference工具类封装

作者: 阿里高级软件架构师 | 来源:发表于2018-07-28 17:30 被阅读204次

这个工具的封装是采用单列模式,将类本身进行实例化,在构造方法里面进行SharePreference初始化,然后在saveData方法中进行数据保存,然后调用commi()进行数据保存,代码如下:

public class SPUtil {

private SharedPreferences.Editoreditor;

    private static SPUtilsInstance;

    public static SPUtilgetInstance() {

synchronized (SPUtil.class) {

if (sInstance ==null) {

sInstance =new SPUtil();

            }

}

return sInstance;

    }

public SPUtil() {

editor =getApplicationContext().getSharedPreferences("user", MODE_PRIVATE).edit();

    }

private static final StringTAG ="SPUtil";

    public SPUtilsaveSPData(Map value) {

for (Map.Entry vo : value.entrySet()) {

Log.i(TAG, "saveSPData: " + vo.getValue().getClass().toString());

            System.out.println(vo.getValue().getClass().toString());

            switch (vo.getValue().getClass().toString()) {

//整型

                case "class java.lang.Integer":

editor.putInt(vo.getKey(), Integer.valueOf(vo.getValue().toString()));

break;

                //布尔型

                case "class java.lang.Boolean":

editor.putBoolean(vo.getKey(), Boolean.valueOf(vo.getValue().toString()));

break;

                //字符串型

                case "class java.lang.String":

editor.putString(vo.getKey(), vo.getValue().toString());

break;

                //浮点型

                case "class java.lang.Float":

editor.putFloat(vo.getKey(), Float.valueOf(vo.getValue().toString()));

break;

            }

}

return sInstance;

    }

public void save() {

editor.apply();

    }

}

使用方法如下:

是不是很简单啊,一行代码搞定

还可以进行多种数据的保存。

Github地址:  https://github.com/xyj155/SPUtil

相关文章

网友评论

  • 0445981d6022:单例,构造函数要私有。最好双重非空校验,单例对象前面加上violate关键字。

本文标题:安卓SharePreference工具类封装

本文链接:https://www.haomeiwen.com/subject/xznomftx.html