工具类—SharedPreference工具类

来源:互联网 发布:windows软件 编辑:程序博客网 时间:2024/05/23 02:27

每次都要自行实例化SP相关的类,肯定很麻烦,这里贴个SP的工具类,大家可以贴到 自己的项目中,工具类来源于鸿洋大神的blog~

SPUtils.java

import android.content.Context;import android.content.SharedPreferences;import java.util.Map;public class SPUtils {    /**     * 保存在手机里的SP文件名     */    public static final String FILE_NAME = "my_sp";    /**     * 保存数据     */    public static void put(Context context, String key, Object obj) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        if (obj instanceof Boolean) {            editor.putBoolean(key, (Boolean) obj);        } else if (obj instanceof Float) {            editor.putFloat(key, (Float) obj);        } else if (obj instanceof Integer) {            editor.putInt(key, (Integer) obj);        } else if (obj instanceof Long) {            editor.putLong(key, (Long) obj);        } else {            editor.putString(key, (String) obj);        }        editor.commit();    }    /**     * 获取指定数据     */    public static Object get(Context context, String key, Object defaultObj) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);        if (defaultObj instanceof Boolean) {            return sp.getBoolean(key, (Boolean) defaultObj);        } else if (defaultObj instanceof Float) {            return sp.getFloat(key, (Float) defaultObj);        } else if (defaultObj instanceof Integer) {            return sp.getInt(key, (Integer) defaultObj);        } else if (defaultObj instanceof Long) {            return sp.getLong(key, (Long) defaultObj);        } else if (defaultObj instanceof String) {            return sp.getString(key, (String) defaultObj);        }        return null;    }    /**     * 删除指定数据     */    public static void remove(Context context, String key) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        editor.remove(key);        editor.commit();    }    /**     * 返回所有键值对     */    public static Map<String, ?> getAll(Context context) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);        Map<String, ?> map = sp.getAll();        return map;    }    /**     * 删除所有数据     */    public static void clear(Context context) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        editor.clear();        editor.commit();    }    /**     * 检查key对应的数据是否存在     */    public static boolean contains(Context context, String key) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);        return sp.contains(key);    }}
0 0