SharedPreferences工具类

SharedPreferencesUtil 工具类

 
 // ====================StringPreference========================

    /**
     * 设置StringPreference
     *
     * @param context
     * @param key
     * @param content
     */
    public static void setStringPreferences(Context context, String key, String content) {
        SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = pref.edit();
        editor.putString(key, content);
        editor.commit();
    }

    /**
     * 获取StringPreference
     *
     * @param context
     * @param key
     * @param defaultStr
     * @return
     */
    public static String getStringPreferences(Context context, String key, String defaultStr) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        return preferences.getString(key, defaultStr);
    }

    // ====================IntegerPreference========================

    /**
     * 设置IntPreference
     *
     * @param context
     * @param key
     * @param content
     */
    public static void setIntPreferences(Context context, String key, int content) {
        SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = pref.edit();
        editor.putInt(key, content);
        editor.commit();
    }

    /**
     * 获取IntPreference
     *
     * @param context
     * @param key
     * @param defaultStr
     * @return
     */
    public static int getIntPreferences(Context context, String key, int defaultValue) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        return preferences.getInt(key, defaultValue);
    }

    // ====================BooleanPreference========================

    /**
     * 设置BooleanPreference
     *
     * @param context
     * @param key
     * @param content
     */
    public static void setBooleanPreferences(Context context, String key, boolean content) {
        SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = pref.edit();
        editor.putBoolean(key, content);
        editor.commit();
    }

    /**
     * 获取BooleanPreference
     *
     * @param context
     * @param key
     * @param defaultBoolean
     * @return
     */
    public static boolean getBooleanPreferences(Context context, String key, boolean defaultBoolean) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        return preferences.getBoolean(key, defaultBoolean);
    }

    // ====================FloatPreference========================

    /**
     * 设置FloatPreference
     *
     * @param context
     * @param key
     * @param content
     */
    public static void setFloatPreferences(Context context, String key, float content) {
        SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = pref.edit();
        editor.putFloat(key, content);
        editor.commit();
    }

    /**
     * 获取FloatPreference
     *
     * @param context
     * @param key
     * @param defaultFloat
     * @return
     */
    public static float getFloatPreferences(Context context, String key, float defaultFloat) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        return preferences.getFloat(key, defaultFloat);
    }

    // ====================LongPreference========================

    /**
     * 设置LongPreference
     *
     * @param context
     * @param key
     * @param content
     */
    public static void setLongPreferences(Context context, String key, long content) {
        SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = pref.edit();
        editor.putLong(key, content);
        editor.commit();
    }

    /**
     * 获取LongPreference
     *
     * @param context
     * @param key
     * @param defaultLong
     * @return
     */
    public static long getLongPreferences(Context context, String key, long defaultLong) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        return preferences.getLong(key, defaultLong);
    }


    public static void cleanSharePreferences(Context context, String key) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = preferences.edit();
        editor.remove(key);
        editor.commit();
    }


    /**
     * 保存Object转16进制后的string
     * @param context
     * @param key
     * @param obj
     */
    public static void setObj(Context context, String key, Object obj) {
        try {
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            ObjectOutputStream os = new ObjectOutputStream(bos);
            // 将对象序列化写入byte缓存
            os.writeObject(obj);
            SharedPreferencesUtil.setStringPreferences(context, key, EncryptUtil.bytesToHexString(bos.toByteArray()));
        } catch (Exception e) {
        }
    }

    /**
     * 获取出16进制的string转Object
     * @param context
     * @param key
     * @return
     */
    public static Object getObj(Context context, String key) {
        try {
            String objHexString = SharedPreferencesUtil.getStringPreferences(context,key,"");
            if(!TextUtils.isEmpty(objHexString)) {
                byte[] stringToBytes = EncryptUtil.stringToBytes(objHexString);
                ByteArrayInputStream bis = new ByteArrayInputStream(stringToBytes);
                ObjectInputStream is = new ObjectInputStream(bis);
                // 返回反序列化得到的对象
                Object readObject = is.readObject();
                return readObject;
            }
        } catch (Exception e) {
        }
        return null;
    }

使用方法:

在Activity中:
存:SharedPreferencesUtil.setStringPreferences(this, "你保存的变量名", "");
取:SharedPreferencesUtil.getStringPreferences(this,“你保存的变量名”, "");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值