Runt
2022-05-29 e407dd1f335aa9c716b89b3152bf363b898d28fa
app/src/main/java/com/auto/lyric/util/PreferencesUtils.java
File was renamed from app/src/main/java/com/auto/lyric/util/SpUtils.java
@@ -8,36 +8,35 @@
import java.util.Set;
/**
 * Created by Administrator on 2021/10/28 0028.
 * PreferencesUtils, easy to get or put data
 * <ul>
 * <strong>Preference Name</strong>
 * <li>you can change preference name by {@link #PREFERENCE_NAME}</li>
 * </ul>
 * <ul>
 * <strong>Put Value</strong>
 * </ul>
 *
 * @author <a href="http://www.trinea.cn" target="_blank">Trinea</a> 2013-3-6
 */
public class SpUtils {
public class PreferencesUtils {
    static SpUtils instance;
    /**
     * 获取SP实例
     *
     * @return {@link SpUtils}
     */
    public static SpUtils getInstance() {
        if(instance == null){
            instance = new SpUtils();
        }
        return instance;
    public static final String PREFERENCE_NAME="zipper";
    public static final String PROJECT = "project";
    public static final String USER = "user";
    public static final String VISITOR = "visitor";
    private PreferencesUtils() {
        throw new AssertionError();
    }
    public final static String PROJECT = "project";
    public final static String USER = "user";
    public boolean clearData(Context context, String keyShared){
    public static boolean clearData(Context context, String keyShared){
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        return settings.edit().clear().commit();
    }
    public boolean clearData(Context context, String key, String keyShared){
    public static boolean clearData(Context context, String key, String keyShared){
        putString(context,key,null,keyShared);
        return true;
    }
@@ -51,7 +50,7 @@
     * @param key The name of the preference to modify
     * @return True if the new values were successfully written to persistent storage.
     */
    public void  removeKey(Context context, String key, String keyShared){
    public static void  removeKey(Context context, String key, String keyShared){
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
@@ -65,7 +64,7 @@
     * @param value The name of the preference to modify
     * @return True if the new values were successfully written to persistent storage.
     */
    public void  removeValue(Context context, String value, String keyShared){
    public static void  removeValue(Context context, String value, String keyShared){
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
        editor.remove(value);
@@ -74,13 +73,13 @@
    /**
     * put string preferences
     *
     *
     * @param context
     * @param key The name of the preference to modify
     * @param value The new value for the preference
     * @return True if the new values were successfully written to persistent storage.
     */
    public boolean putString(Context context, String key, String value, String keyShared) {
    public static boolean putString(Context context, String key, String value, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
        editor.putString(key, value);
@@ -89,40 +88,40 @@
    /**
     * get string preferences
     *
     *
     * @param context
     * @param key The name of the preference to retrieve
     * @return The preference value if it exists, or null. Throws ClassCastException if there is a preference with this
     *         name that is not a string
     * @see #getString(Context, String, String)
     */
    public String getString(Context context, String key, String keyShared) {
    public static String getString(Context context, String key, String keyShared) {
        return getString(context, key, null,keyShared);
    }
    /**
     * get string preferences
     *
     *
     * @param context
     * @param key The name of the preference to retrieve
     * @param defaultValue Value to return if this preference does not exist
     * @return The preference value if it exists, or defValue. Throws ClassCastException if there is a preference with
     *         this name that is not a string
     */
    public String getString(Context context, String key, String defaultValue, String keyShared) {
    public static String getString(Context context, String key, String defaultValue, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        return settings.getString(key, defaultValue);
    }
    /**
     * put int preferences
     *
     *
     * @param context
     * @param key The name of the preference to modify
     * @param value The new value for the preference
     * @return True if the new values were successfully written to persistent storage.
     */
    public boolean putInt(Context context, String key, int value, String keyShared) {
    public static boolean putInt(Context context, String key, int value, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
        editor.putInt(key, value);
@@ -131,26 +130,26 @@
    /**
     * get int preferences
     *
     *
     * @param context
     * @param key The name of the preference to retrieve
     * @return The preference value if it exists, or -1. Throws ClassCastException if there is a preference with this
     *         name that is not a int
     */
    public int getInt(Context context, String key, String keyShared) {
    public static int getInt(Context context, String key, String keyShared) {
        return getInt(context, key, -1,keyShared);
    }
    /**
     * get int preferences
     *
     *
     * @param context
     * @param key The name of the preference to retrieve
     * @param defaultValue Value to return if this preference does not exist
     * @return The preference value if it exists, or defValue. Throws ClassCastException if there is a preference with
     *         this name that is not a int
     */
    public int getInt(Context context, String key, int defaultValue, String keyShared) {
    public static int getInt(Context context, String key, int defaultValue, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        try {
            return settings.getInt(key, defaultValue);
@@ -165,13 +164,13 @@
    /**
     * put long preferences
     *
     *
     * @param context
     * @param key The name of the preference to modify
     * @param value The new value for the preference
     * @return True if the new values were successfully written to persistent storage.
     */
    public boolean putLong(Context context, String key, long value, String keyShared) {
    public static boolean putLong(Context context, String key, long value, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
        editor.putLong(key, value);
@@ -180,26 +179,26 @@
    /**
     * get long preferences
     *
     *
     * @param context
     * @param key The name of the preference to retrieve
     * @return The preference value if it exists, or -1. Throws ClassCastException if there is a preference with this
     *         name that is not a long
     */
    public long getLong(Context context, String key, String keyShared) {
    public static long getLong(Context context, String key, String keyShared) {
        return getLong(context, key, -1,keyShared);
    }
    /**
     * get long preferences
     *
     *
     * @param context
     * @param key The name of the preference to retrieve
     * @param defaultValue Value to return if this preference does not exist
     * @return The preference value if it exists, or defValue. Throws ClassCastException if there is a preference with
     *         this name that is not a long
     */
    public long getLong(Context context, String key, long defaultValue, String keyShared) {
    public static long getLong(Context context, String key, long defaultValue, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        try {
            return settings.getLong(key, defaultValue);
@@ -214,13 +213,13 @@
    /**
     * put float preferences
     *
     *
     * @param context
     * @param key The name of the preference to modify
     * @param value The new value for the preference
     * @return True if the new values were successfully written to persistent storage.
     */
    public boolean putFloat(Context context, String key, float value, String keyShared) {
    public static boolean putFloat(Context context, String key, float value, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
        editor.putFloat(key, value);
@@ -229,26 +228,26 @@
    /**
     * get float preferences
     *
     *
     * @param context
     * @param key The name of the preference to retrieve
     * @return The preference value if it exists, or -1. Throws ClassCastException if there is a preference with this
     *         name that is not a float
     */
    public float getFloat(Context context, String key, String keyShared) {
    public static float getFloat(Context context, String key, String keyShared) {
        return getFloat(context, key, -1,keyShared);
    }
    /**
     * get float preferences
     *
     *
     * @param context
     * @param key The name of the preference to retrieve
     * @param defaultValue Value to return if this preference does not exist
     * @return The preference value if it exists, or defValue. Throws ClassCastException if there is a preference with
     *         this name that is not a float
     */
    public float getFloat(Context context, String key, float defaultValue, String keyShared) {
    public static float getFloat(Context context, String key, float defaultValue, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        try {
            return settings.getFloat(key, defaultValue);
@@ -263,13 +262,13 @@
    /**
     * put boolean preferences
     *
     *
     * @param context
     * @param key The name of the preference to modify
     * @param value The new value for the preference
     * @return True if the new values were successfully written to persistent storage.
     */
    public boolean putBoolean(Context context, String key, boolean value, String keyShared) {
    public static boolean putBoolean(Context context, String key, boolean value, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
        editor.putBoolean(key, value);
@@ -278,26 +277,26 @@
    /**
     * get boolean preferences, default is false
     *
     *
     * @param context
     * @param key The name of the preference to retrieve
     * @return The preference value if it exists, or false. Throws ClassCastException if there is a preference with this
     *         name that is not a boolean
     */
    public boolean getBoolean(Context context, String key, String keyShared) {
    public static boolean getBoolean(Context context, String key, String keyShared) {
        return getBoolean(context, key, false,keyShared);
    }
    /**
     * get boolean preferences
     *
     *
     * @param context
     * @param key The name of the preference to retrieve
     * @param defaultValue Value to return if this preference does not exist
     * @return The preference value if it exists, or defValue. Throws ClassCastException if there is a preference with
     *         this name that is not a boolean
     */
    public boolean getBoolean(Context context, String key, boolean defaultValue, String keyShared) {
    public static boolean getBoolean(Context context, String key, boolean defaultValue, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        try {
            return settings.getBoolean(key, defaultValue);
@@ -318,7 +317,7 @@
     * @param value The new value for the preference ,  the value of set ,canot be the other class out of java collection
     * @return True if the new values were successfully written to persistent storage.
     */
    public boolean putStringSet(Context context, String key, Set value, String keyShared) {
    public static boolean putStringSet(Context context, String key, Set value, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
        editor.putStringSet(key, value);
@@ -333,7 +332,7 @@
     * @return The preference value if it exists, or false. Throws ClassCastException if there is a preference with this
     *         name that is not a boolean 获取出来的值最终被转换为hashset类型
     */
    public Set getStringSet(Context context, String key, String keyShared) {
    public static Set getStringSet(Context context, String key, String keyShared) {
        return getStringSet(context, key,new ArraySet(),keyShared);
    }
@@ -346,131 +345,8 @@
     * @return The preference value if it exists, or defValue. Throws ClassCastException if there is a preference with
     *         this name that is not a boolean 获取出来的值最终被转换为hashset类型
     */
    public Set getStringSet(Context context, String key, Set defaultValue, String keyShared) {
    public static Set getStringSet(Context context, String key, Set defaultValue, String keyShared) {
        SharedPreferences settings = context.getSharedPreferences(keyShared, Context.MODE_PRIVATE);
        return settings.getStringSet(key, defaultValue);
    }
    public boolean getBooleanValOfUser(Context context, String key){
        return getBoolean(context,key,false,USER);
    }
    public boolean getBooleanValOfProject(Context context, String key){
        return getBoolean(context,key,false,PROJECT);
    }
    public String getStringValOfUser(Context context, String key){
        return getString(context,key,"",USER);
    }
    public String getStringValOfProject(Context context, String key){
        return getString(context,key,"",PROJECT);
    }
    public int getIntValOfProject(Context context, String key){
        return getInt(context,key,0,PROJECT);
    }
    public Long getLongValOfProject(Context context, String key){
        return getLong(context,key,0,PROJECT);
    }
    public float getFloatValOfProject(Context context, String key){
        return getFloat(context,key,0,PROJECT);
    }
    public Set getStringSetValOfProject(Context context, String key){
        return getStringSet(context,key,PROJECT);
    }
    public int getIntValOfUser(Context context, String key){
        return getInt(context,key,0,USER);
    }
    public Long getLongValOfUser(Context context, String key){
        return getLong(context,key,0,USER);
    }
    public float getFloatValOfUser(Context context, String key){
        return getFloat(context,key,0,USER);
    }
    public Set getStringSetValOfUser(Context context, String key){
        return getStringSet(context,key,USER);
    }
    public void putBooleanValOfUser(Context context, String key ,Boolean value){
        putBoolean(context,key,value,USER);
    }
    public void putBooleanValOfProject(Context context, String key,Boolean value){
        putBoolean(context,key,value,PROJECT);
    }
    public void putStringValOfUser(Context context,String key,String value){
        putString(context,key,value,USER);
    }
    public void putStringValOfProject(Context context,String key,String value){
        putString(context,key,value,PROJECT);
    }
    public void putIntValOfProject(Context context,String key,int value){
        putInt(context,key,value,PROJECT);
    }
    public void putLongValOfProject(Context context,String key,long value){
        putLong(context,key,value,PROJECT);
    }
    public void putFloatValOfProject(Context context,String key,float value){
        putFloat(context,key,value,PROJECT);
    }
    public void putStringSetValOfProject(Context context,String key,Set value){
        putStringSet(context,key,value,PROJECT);
    }
    public void putIntValOfUser(Context context,String key,int value){
        putInt(context,key,value,USER);
    }
    public void putLongValOfUser(Context context,String key,long value){
        putLong(context,key,value,USER);
    }
    public void putFloatValOfUser(Context context,String key,float value){
        putFloat(context,key,value,USER);
    }
    public void putStringSetValOfUser(Context context,String key, Set value){
        putStringSet(context,key,value,USER);
    }
    public void removeUserKey(Context context, String key){
        removeKey(context,key,USER);
    }
    public void removeProjectKey(Context context, String key){
        removeKey(context,key,PROJECT);
    }
    public void removeUserValue(Context context, String Value){
        removeValue(context,Value,USER);
    }
    public void removeProjectValue(Context context, String Value){
        removeValue(context,Value,PROJECT);
    }
    public void clearProjectData(Context context){
        clearData(context,PROJECT);
    }
    public void clearUserData(Context context){
        clearData(context,USER);
    }
}