安卓SharePreference工具类封装

这个工具的封装是采用单列模式,将类本身进行实例化,在构造方法里面进行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

你可能感兴趣的:(安卓SharePreference工具类封装)