/** * @anthor GrainRain * @funcation SharedPreference工具类 * @date 2019/9/5 */public class SharedPreferenceUtils {    private static SharedPreferences preferences;    private static SharedPreferences.Editor editor;    private static final String TAG = "SharedPreference";    /**     * 储存数据     * @param key     * @param object     */    public static void put(Context context, String key, Object object) {        preferences = PreferenceManager.getDefaultSharedPreferences(context);        editor = preferences.edit();        if(editor != null) {            if (object instanceof String) {                editor.putString(key, (String) object);            } else if (object instanceof Integer) {                editor.putInt(key, (Integer) object);            } else if (object instanceof Boolean) {                editor.putBoolean(key, (Boolean) object);            } else if (object instanceof Float) {                editor.putFloat(key, (Float) object);            } else if (object instanceof Long) {                editor.putLong(key, (Long) object);            } else {                editor.putString(key, object.toString());            }            editor.commit();        } else {            Log.e(TAG, "请重试");        }    }    /**     * 获取数据     * @param key     * @param defaultObject     * @return Object     */    public static Object get(Context context, String key, Object defaultObject) {        preferences = PreferenceManager.getDefaultSharedPreferences(context);        editor = preferences.edit();        if(preferences != null) {            if (defaultObject instanceof String) {                return preferences.getString(key, (String) defaultObject);            } else if (defaultObject instanceof Integer) {                return preferences.getInt(key, (Integer) defaultObject);            } else if (defaultObject instanceof Boolean) {                return preferences.getBoolean(key, (Boolean) defaultObject);            } else if (defaultObject instanceof Float) {                return preferences.getFloat(key, (Float) defaultObject);            } else if (defaultObject instanceof Long) {                return preferences.getLong(key, (Long) defaultObject);            } else {                return preferences.getString(key, null);            }        } else {            Log.e(TAG, "请重试");            return null;        }    }    /**     * 移除key对应的值     * @param key     */    public static void remove(Context context, String key) {        preferences = PreferenceManager.getDefaultSharedPreferences(context);        editor = preferences.edit();        if(editor != null) {            editor.remove(key);            editor.commit();        } else {            Log.e(TAG, "请重试");        }    }    /**     * 清除所有数据     */    public static void clear(Context context) {        preferences = PreferenceManager.getDefaultSharedPreferences(context);        editor = preferences.edit();        if(editor != null) {            editor.clear();            editor.commit();        } else {            Log.e(TAG, "请重试");        }    }    /**     * 查询key是否存在     */    public static Boolean contain(Context context, String key) {        preferences = PreferenceManager.getDefaultSharedPreferences(context);        editor = preferences.edit();        if(preferences != null) {            return preferences.contains(key);        } else {            Log.e(TAG, "请重试");            return false;        }    }    /**     * 返回所有键值对     * @return     */    public static Map getAll(Context context) {        preferences = PreferenceManager.getDefaultSharedPreferences(context);        editor = preferences.edit();        if(preferences != null) {            return preferences.getAll();        } else {            Log.e(TAG, "请重试");            return null;        }    }}

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. I2C-Tools 4.0使用说明及android平台移植,提供源码下载路径
  4. Android(安卓)Architecture Components
  5. android json
  6. android:allowBackup="true"
  7. android升级数据库(Sqlite)简单示例
  8. android通用JSON解析
  9. Android(安卓)MediaMuxer混合音频和视频

随机推荐

  1. eNSP:实现不同网段主机之间的通信(直连路
  2. eNSP:实现不同网段主机之间的通信(静态路由
  3. 使用除按钮标签(button,submit)以外的标签实
  4. 【wrodpress】wordpress发表文章后无法显
  5. eNSP:静态路由的负载分担
  6. Zerodium公开Tor浏览器0day代码执行漏洞
  7. 企业服务器中了.PGP后缀的勒索病毒该如何
  8. eNSP:静态路由中的路由备份
  9. eNSP:实现不同网段不同vlan主机之间的互访
  10. eNSP:实现不同网段不同vlan主机之间的互访