package com.arialyy.frame.util; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.text.TextUtils; import com.google.gson.Gson; /** * 配置文件工具类 * * @author Administrator */ public class SharePreUtil { /** * 删除键值对 */ public static void removeKey(String preName, Context context, String key) { SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); Editor editor = pre.edit(); editor.remove(key); editor.commit(); } /** * 从配置文件读取字符串 * * @param preName 配置文件名 * @param context * @param key 字符串键值 * @return 键值对应的字符串, 默认返回"" */ public static String getString(String preName, Context context, String key) { SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); return pre.getString(key, ""); } /** * 从配置文件读取int数据 * * @param preName 配置文件名 * @param context * @param key int的键值 * @return 键值对应的int, 默认返回-1 */ public static int getInt(String preName, Context context, String key) { SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); return pre.getInt(key, -1); } /** * 从配置文件读取Boolean值 * * @return 如果没有,默认返回false */ public static Boolean getBoolean(String preName, Context context, String key) { SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); return pre.getBoolean(key, false); } /** * 从配置文件获取float数据 * * @return 默认返回0.0f */ public static float getFloat(String preName, Context context, String key) { SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); return pre.getFloat(key, 0.0f); } /** * 从配置文件获取对象 */ public static <T> T getObject(String preName, Context context, String key, Class<T> clazz) { SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); String str = pre.getString(key, ""); return TextUtils.isEmpty(str) ? null : new Gson().fromJson(str, clazz); } /** * 存储字符串到配置文件 * * @param preName 配置文件名 * @param context * @param key 存储的键值 * @param value 需要存储的字符串 * @return 成功标志 */ public static Boolean putString(String preName, Context context, String key, String value) { SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); Editor editor = pre.edit(); editor.putString(key, value); return editor.commit(); } /** * 保存Float数据到配置文件 */ public static Boolean putFloat(String preName, Context context, String key, float value) { SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); Editor editor = pre.edit(); editor.putFloat(key, value); return editor.commit(); } /** * 存储数字到配置文件 * * @param preName 配置文件名 * @param context * @param key 存储的键值 * @param value 需要存储的数字 * @return 成功标志 */ public static Boolean putInt(String preName, Context context, String key, int value) { SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); Editor editor = pre.edit(); editor.putInt(key, value); return editor.commit(); } /** * 存储Boolean值到配置文件 * * @param preName 配置文件名 * @param context * @param key 键值 * @param value 需要存储的boolean值 * @return */ public static Boolean putBoolean(String preName, Context context, String key, Boolean value) { SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); Editor editor = pre.edit(); editor.putBoolean(key, value); return editor.commit(); } /** * 存放对象 */ public static Boolean putObject(String preName, Context context, String key, Class<?> clazz, Object obj) { String str = new Gson().toJson(obj, clazz); SharedPreferences pre = context.getSharedPreferences(preName, Context.MODE_PRIVATE); Editor editor = pre.edit(); editor.putString(key, str); return editor.commit(); } }