package android.marshon.likequanmintv.librarys.utils; /** * Created by Marshon.Chen on 2016/9/8. * DESC: */ import android.content.Context; import android.content.SharedPreferences; import android.marshon.likequanmintv.base.APP; import java.util.Map; /** * <pre> * author: Blankj * blog : http://blankj.com * time : 2016/8/2 * desc : SP相关工具类 * </pre> */ public class SPUtils { private SharedPreferences sp; private SharedPreferences.Editor editor; public static SPUtils getInstance(){ SPUtils sputils=new SPUtils(APP.getContext(),"config"); return sputils; } public static String getToken(){ String token = getInstance().getString("token"); LogUtil.d("token:" +token); return token; } public static String getBase(){ String token = getInstance().getString("base"); LogUtil.d("base:" +token); return token; } public static void setBase(String base){ getInstance().putString("base",""+base); } public static String getVersionCode(){ String version = getInstance().getString("v","2.24"); LogUtil.d("v:" +version); return version; } public static String getApiVersion(){ String version = getInstance().getString("ver","4"); LogUtil.d("ver:" +version); return version; } public synchronized static void setToken(String token){ getInstance().putString("token",token); } public synchronized static void clearToken(){ getInstance().remove("token"); } /** * SPUtils构造函数 * * @param context 上下文 * @param spName spName */ private SPUtils(Context context, String spName) { sp = context.getSharedPreferences(spName, Context.MODE_PRIVATE); editor = sp.edit(); editor.apply(); } /** * SP中写入String类型value * * @param key 键 * @param value 值 */ public void putString(String key, String value) { editor.putString(key, value).apply(); editor.commit(); } /** * SP中读取String * * @param key 键 * @return 存在返回对应值,不存在返回默认值{@code null} */ public String getString(String key) { return getString(key, null); } /** * SP中读取String * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public String getString(String key, String defaultValue) { return sp.getString(key, defaultValue); } /** * SP中写入int类型value * * @param key 键 * @param value 值 */ public void putInt(String key, int value) { editor.putInt(key, value).apply(); } /** * SP中读取int * * @param key 键 * @return 存在返回对应值,不存在返回默认值-1 */ public int getInt(String key) { return getInt(key, -1); } /** * SP中读取int * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public int getInt(String key, int defaultValue) { return sp.getInt(key, defaultValue); } /** * SP中写入long类型value * * @param key 键 * @param value 值 */ public void putLong(String key, long value) { editor.putLong(key, value).apply(); } /** * SP中读取long * * @param key 键 * @return 存在返回对应值,不存在返回默认值-1 */ public long getLong(String key) { return getLong(key, -1L); } /** * SP中读取long * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public long getLong(String key, long defaultValue) { return sp.getLong(key, defaultValue); } /** * SP中写入float类型value * * @param key 键 * @param value 值 */ public void putFloat(String key, float value) { editor.putFloat(key, value).apply(); } /** * SP中读取float * * @param key 键 * @return 存在返回对应值,不存在返回默认值-1 */ public float getFloat(String key) { return getFloat(key, -1f); } /** * SP中读取float * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public float getFloat(String key, float defaultValue) { return sp.getFloat(key, defaultValue); } /** * SP中写入boolean类型value * * @param key 键 * @param value 值 */ public void putBoolean(String key, boolean value) { editor.putBoolean(key, value).apply(); } /** * SP中读取boolean * * @param key 键 * @return 存在返回对应值,不存在返回默认值{@code false} */ public boolean getBoolean(String key) { return getBoolean(key, false); } /** * SP中读取boolean * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public boolean getBoolean(String key, boolean defaultValue) { return sp.getBoolean(key, defaultValue); } /** * 获取SP中所有键值对 * * @return Map对象 */ public Map<String, ?> getAll() { return sp.getAll(); } /** * 从SP中移除该key * * @param key 键 */ public void remove(String key) { editor.remove(key).apply(); } /** * 判断SP中是否存在该key * * @param key 键 * @return {@code true}: 存在<br>{@code false}: 不存在 */ public boolean contains(String key) { return sp.contains(key); } /** * 清除SP中所有数据 */ public void clear() { editor.clear().apply(); } }