/**
* SharedPreferences 的工具类
* Created by suwenlai on 16-12-23.
*/
public class SPUtil {
/**
* Sp 的文件名
*/
public static String FILLNAME = "config";
/**
* 存入某个 key 对应的 value 值
*
* @param context 上下文
* @param key 要存入的键
* @param value 存入键对应的值
*/
public static void put(Context context, String key, Object value) {
SharedPreferences sp = context.getSharedPreferences(FILLNAME, Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
if (value instanceof String) {
edit.putString(key, (String) value);
} else if (value instanceof Integer) {
edit.putInt(key, (Integer) value);
} else if (value instanceof Boolean) {
edit.putBoolean(key, (Boolean) value);
} else if (value instanceof Float) {
edit.putFloat(key, (Float) value);
} else if (value instanceof Long) {
edit.putLong(key, (Long) value);
}
SharedPreferencesCompat.EditorCompat.getInstance().apply(edit);
}
/**
* 得到某个 key 对应的值
*
* @param context 上下文
* @param key 要取数据的键
* @param defValue 没有读取到数据情况下 设置的默认值
* @return null
*/
public static Object get(Context context, String key, Object defValue) {
SharedPreferences sp = context.getSharedPreferences(FILLNAME, Context.MODE_PRIVATE);
if (defValue instanceof String) {
return sp.getString(key, (String) defValue);
} else if (defValue instanceof Integer) {
return sp.getInt(key, (Integer) defValue);
} else if (defValue instanceof Boolean) {
return sp.getBoolean(key, (Boolean) defValue);
} else if (defValue instanceof Float) {
return sp.getFloat(key, (Float) defValue);
} else if (defValue instanceof Long) {
return sp.getLong(key, (Long) defValue);
}
return null;
}
/**
* 返回所有数据
*
* @param context 上下文
* @return 所有数据的 Map 集合
*/
public static Map<String, ?> getAll(Context context) {
SharedPreferences sp = context.getSharedPreferences(FILLNAME, Context.MODE_PRIVATE);
return sp.getAll();
}
/**
* 移除某个 key 值已经对应的值
*
* @param context 上下文
* @param key 要移除数据对应的键
*/
public static void remove(Context context, String key) {
SharedPreferences sp = context.getSharedPreferences(FILLNAME, Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
edit.remove(key);
SharedPreferencesCompat.EditorCompat.getInstance().apply(edit);
}
/**
* 清除所有内容
*
* @param context 上下文
*/
public static void clear(Context context) {
SharedPreferences sp = context.getSharedPreferences(FILLNAME, Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
edit.clear();
SharedPreferencesCompat.EditorCompat.getInstance().apply(edit);
}
}