Android SharedPreferences 简单封装
发布日期:2021-07-30 03:26:02 浏览次数:3 分类:技术文章

本文共 2508 字,大约阅读时间需要 8 分钟。

转载请标明出处:http://blog.csdn.net/u010886975/article/details/52538625

1.说明

1.1在Android开发中,经常使用SharedPreferences来存储一些简单的数据。在同一个项目里面,使用的时候总是去获取对象,感觉比较麻烦,自己对它进行一个简单的封装。不过没考虑效率问题。大家有觉得不对的地方,请指教。

2.封装使用

2.1有很多人一般都是直接获取haredPreferences对象进行使用,特别是接触android不久的人,就像下面这样。
储存:
SharedPreferences sharedPreferences = getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE);    Editor editor = sharedPreferences.edit();    editor.putString("username", "Tom");    editor.putInt("password", 123456);    editor.commit();
获取:
SharedPreferences sharedPreferences = getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE);    String username = sharedPreferences.getString("username", "");    int password = sharedPreferences.getInt("password", 0);
  虽然代码也没有多少,但每次都去这样做,觉得还是很麻烦。
       2..2所以就简单封装如下:
储存:
public void putSharedPreference(Context context, String key, Object object) {        SharedPreferences sp = context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        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();    }
 
获取:
public Object getSharedPreference(Context context, String key, Object defaultObject) {        SharedPreferences sp = context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE);        if (defaultObject instanceof String) {            return sp.getString(key, (String) defaultObject);        } else if (defaultObject instanceof Integer) {            return sp.getInt(key, (Integer) defaultObject);        } else if (defaultObject instanceof Boolean) {            return sp.getBoolean(key, (Boolean) defaultObject);        } else if (defaultObject instanceof Float) {            return sp.getFloat(key, (Float) defaultObject);        } else if (defaultObject instanceof Long) {            return sp.getLong(key, (Long) defaultObject);        }        return null;    }
       
 3.总结
             3.1个人感觉还不错,使用的时候只需要传入上下文,key值,和对应的value就行了。可以将这两个方法放到baseActivity中,或者放在baseFragment中,或者放置于Application中。

转载地址:https://blog.csdn.net/u010886975/article/details/52538625 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android 自定义PopupWindow 实现 ListView与PopupWindow结合下拉框
下一篇:Android 8 在service中弹出dialog失败

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月21日 05时51分07秒