[Android][工具类]SharePreferencesUtils

import android.content.Context;
import android.content.SharedPreferences;

import java.util.HashSet;
import java.util.Set;

/**
 * SharePreferences 工具类
 * 如:保存 int、 String、 boolean、 float、long、 Set < String >,
 * 获取int、 String、 boolean、 float、long、set,
 * 清除当前xml 某一个key对应的值、所有值
 *
 */
public class SharePreferencesUtils {

    /**
     * 保存 int
     *
     * @param context 上下文环境
     * @param xmlName xml文件名
     * @param key     要保存的 key
     * @param value   要保存的 value
     */
    public static void saveInt(Context context, String xmlName, String key, int value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putInt(key, value);
        editor.apply();
    }

    /**
     * 保存 String
     *
     * @param context 上下文环境
     * @param xmlName xml文件名
     * @param key     要保存的 key
     * @param value   要保存的 value
     */
    public static void saveString(Context context, String xmlName, String key, String value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(key, value);
        editor.apply();
    }

    /**
     * 保存 boolean
     *
     * @param context 上下文环境
     * @param xmlName xml文件名
     * @param key     要保存的 key
     * @param value   要保存的 value
     */
    public static void saveBoolean(Context context, String xmlName, String key, boolean value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putBoolean(key, value);
        editor.apply();
    }

    /**
     * 保存 float
     *
     * @param context 上下文环境
     * @param xmlName xml文件名
     * @param key     要保存的 key
     * @param value   要保存的 value
     */
    public static void saveFloat(Context context, String xmlName, String key, float value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putFloat(key, value);
        editor.apply();
    }

    /**
     * 保存 long
     *
     * @param context 上下文环境
     * @param xmlName xml文件名
     * @param key     要保存的 key
     * @param value   要保存的 value
     */
    public static void saveLong(Context context, String xmlName, String key, long value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putLong(key, value);
        editor.apply();
    }

    /**
     * 保存 Set < String >
     *
     * @param context 上下文环境
     * @param xmlName xml文件名
     * @param key     要保存的 key
     * @param value   要保存的 value
     */
    public static void saveSet(Context context, String xmlName, String key, Set value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putStringSet(key, value);
        editor.apply();
    }

    /**
     * 获取set
     *
     * @param context 上下文环境
     * @param xmlName xml文件名
     * @param key     要获取的 key
     */
    public static Set getSet(Context context, String xmlName, String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        return sharedPreferences.getStringSet(key, new HashSet());
    }

    /**
     * 清除当前xml 某一个key对应的值
     *
     * @param context 上下文环境
     * @param xmlName xml文件名
     * @param key     要清除的key
     */
    public static void clearOne(Context context, String xmlName, String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.remove(key);
        editor.apply();
    }

    /**
     * 清除xml中所有的值
     *
     * @param context 上下文环境
     * @param xmlName xml文件名
     */
    public static void clearAll(Context context, String xmlName) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.clear();
        editor.apply();
    }

    /**
     * 获取int 值
     *
     * @param context      上下文环境
     * @param xmlName      xml文件名
     * @param key          要获取的key
     * @param defaultValue 默认值
     */
    public static int getInt(Context context, String xmlName, String key, int defaultValue) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        int value = sharedPreferences.getInt(key, defaultValue);
        return value;
    }

    /**
     * 获取 String 值
     *
     * @param context      上下文环境
     * @param xmlName      xml文件名
     * @param key          要获取的key
     * @param defaultValue 默认值
     */
    public static String getString(Context context, String xmlName, String key, String defaultValue) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        return sharedPreferences.getString(key, defaultValue);
    }

    /**
     * 获取Boolean 值
     *
     * @param context      上下文环境
     * @param xmlName      xml文件名
     * @param key          要获取的key
     * @param defaultValue 默认值
     * @return
     */
    public static boolean getBoolean(Context context, String xmlName, String key, boolean defaultValue) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        return sharedPreferences.getBoolean(key, defaultValue);
    }

    /**
     * 获取long 值
     *
     * @param context      上下文环境
     * @param xmlName      xml文件名
     * @param key          要获取的key
     * @param defaultValue 默认值
     */
    public static long getLong(Context context, String xmlName, String key, long defaultValue) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        return sharedPreferences.getLong(key, defaultValue);
    }

    /**
     * 获取float 值
     *
     * @param context      上下文环境
     * @param xmlName      xml文件名
     * @param key          要获取的key
     * @param defaultValue 默认值
     */
    public static float getFloat(Context context, String xmlName, String key, float defaultValue) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
        return sharedPreferences.getFloat(key, defaultValue);
    }
}

你可能感兴趣的:([Android][工具类]SharePreferencesUtils)