package com.hdl.sdk.link.common.utils; import android.content.Context; import android.content.SharedPreferences; import androidx.annotation.NonNull; import com.hdl.sdk.link.HDLLinkLocalSdk; import java.util.Collections; import java.util.Map; import java.util.Set; /** * Created by Tong on 2021/9/28. */ public class SPUtils { private static final String APP_PREFERENCES_KEY = "profile"; private static SharedPreferences PREFERENCES = HDLLinkLocalSdk.getInstance().getContext().getApplicationContext().getSharedPreferences(APP_PREFERENCES_KEY, Context.MODE_PRIVATE); private static SharedPreferences getAppPreference() { if (PREFERENCES == null) { PREFERENCES = HDLLinkLocalSdk.getInstance().getContext().getApplicationContext().getSharedPreferences(APP_PREFERENCES_KEY, Context.MODE_PRIVATE); } return PREFERENCES; } //======通用存储======== public static void put(@NonNull final String key, final String value) { getAppPreference().edit().putString(key, value).apply(); } public static String getString(@NonNull final String key) { return getString(key, ""); } public static String getString(@NonNull final String key, final String defaultValue) { return getAppPreference().getString(key, defaultValue); } public static void put(@NonNull final String key, final int value) { put(key, value, false); } public static void put(@NonNull final String key, final int value, final boolean isCommit) { getAppPreference().edit().putInt(key, value).apply(); } public static int getInt(@NonNull final String key) { return getInt(key, -1); } public static int getInt(@NonNull final String key, final int defaultValue) { return getAppPreference().getInt(key, defaultValue); } public static void put(@NonNull final String key, final long value) { getAppPreference().edit().putLong(key, value).apply(); } public static long getLong(@NonNull final String key) { return getLong(key, -1L); } public static long getLong(@NonNull final String key, final long defaultValue) { return getAppPreference().getLong(key, defaultValue); } public static void put(@NonNull final String key, final float value) { getAppPreference().edit().putFloat(key, value).apply(); } public static float getFloat(@NonNull final String key) { return getFloat(key, -1f); } public static float getFloat(@NonNull final String key, final float defaultValue) { return getAppPreference().getFloat(key, defaultValue); } public static void put(@NonNull final String key, final boolean value) { getAppPreference().edit().putBoolean(key, value).apply(); } public static boolean getBoolean(@NonNull final String key) { return getBoolean(key, false); } public static boolean getBoolean(@NonNull final String key, final boolean defaultValue) { return getAppPreference().getBoolean(key, defaultValue); } public static void put(@NonNull final String key, final Set value ) { getAppPreference().edit().putStringSet(key, value).apply(); } public static Set getStringSet(@NonNull final String key) { return getStringSet(key, Collections.emptySet()); } public static Set getStringSet(@NonNull final String key, final Set defaultValue) { return getAppPreference().getStringSet(key, defaultValue); } public static Map getAll() { return getAppPreference().getAll(); } public static boolean contains(@NonNull final String key) { return getAppPreference().contains(key); } public static void remove(@NonNull final String key) { getAppPreference().edit().remove(key).apply(); } public static void clear() { getAppPreference() .edit() .clear() .apply(); } }