分享一下简单的android SharedPreferences本地存储数据工具类

来源:互联网 发布:电影知无涯者拉马努金 编辑:程序博客网 时间:2024/04/30 19:09
public class SPUtils {    /**     * 保存在手机里面的文件名     */    public static final String FILE_NAME = "app_info";    /**     * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法     *     * @param context     * @param key     * @param object     */    public static void put(Context context, String key, Object object) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,                Context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        if (object instanceof String) {            editor.putString(key, (String) object);        } else if (object instanceof Integer) {            editor.putInt(key, (Integer) object);        } else if (object instanceof Boolean) {            editor.putBoolean(key, (Boolean) object);        } else if (object instanceof Float) {            editor.putFloat(key, (Float) object);        } else if (object instanceof Long) {            editor.putLong(key, (Long) object);        } else {            editor.putString(key, object.toString());        }        editor.apply();    }    /**     * 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值     *     * @param context     * @param key     * @param defaultObject     * @return     */    public static Object get(Context context, String key, Object defaultObject) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,                Context.MODE_PRIVATE);        if (defaultObject instanceof String) {            return sp.getString(key, (String) defaultObject);        } else if (defaultObject instanceof Integer) {            return sp.getInt(key, (Integer) defaultObject);        } else if (defaultObject instanceof Boolean) {            return sp.getBoolean(key, (Boolean) defaultObject);        } else if (defaultObject instanceof Float) {            return sp.getFloat(key, (Float) defaultObject);        } else if (defaultObject instanceof Long) {            return sp.getLong(key, (Long) defaultObject);        }        return null;    }    /**     * 移除某个key值已经对应的值     *     * @param context     * @param key     */    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.apply();    }    /**     * 清除所有数据     *     * @param context     */    public static void clear(Context context) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,                Context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        editor.clear();        editor.apply();    }    /**     * 查询某个key是否已经存在     *     * @param context     * @param key     * @return     */    public static boolean contains(Context context, String key) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,                Context.MODE_PRIVATE);        return sp.contains(key);    }    /**     * 返回所有的键值对     *     * @param context     * @return     */    public static Map<String, ?> getAll(Context context) {        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,                Context.MODE_PRIVATE);        return sp.getAll();    }    /**     * 保存登录status     *     * @param context     * @param hasLogin     *///    public static void putLoginStatus(Context context, boolean hasLogin, int type) {//        SharedPreferences.Editor editor = context.getSharedPreferences(FILE_NAME,//                Context.MODE_PRIVATE).edit();//        editor.putBoolean(Const.KEY_LOGIN_STATUS, hasLogin);//        editor.putInt(Const.KEY_TYPE, type);//        editor.apply();//    }    /**     * 保存登录first entry     *     * @param context     * @param isFirst     */    public static void putFirstEntry(Context context, boolean isFirst) {        SharedPreferences.Editor editor = context.getSharedPreferences(FILE_NAME,                Context.MODE_PRIVATE).edit();        editor.putBoolean(Const.KEY_FIRST_ENTRY, isFirst);        editor.apply();    }    /**     * 获取保存的first entry     *     * @param context     * @return     */    public static boolean getFirstEntry(Context context) {        return context.getSharedPreferences(FILE_NAME,                Context.MODE_PRIVATE).getBoolean(Const.KEY_FIRST_ENTRY, true);    }    /**     * 获取SharedPreferences     *     * @param context     * @return     */    private static SharedPreferences getSharedPreferences(Context context, String filename) {        try {            return context.getSharedPreferences(filename, Context.MODE_PRIVATE);        } catch (Exception e) {            e.printStackTrace();        }        return null;    }}

0 0
原创粉丝点击