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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月21日 05时51分07秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP防止注入攻击
2019-04-27
多路IO复用模型 select epoll 等
2019-04-27
Linux Epoll介绍和程序实例
2019-04-27
output_buffering详细介绍
2019-04-27
php缓冲 output_buffering和ob_start
2019-04-27
php error_reporting 详解
2019-04-27
剖析PHP中的输出缓冲
2019-04-27
HTTP响应头不缓存
2019-04-27
PHP安装扩展mcrypt以及相关依赖项 【PHP安装PECL扩展的方法】
2019-04-27
Javascript到PHP加密通讯的简单实现
2019-04-27
德国SNS交友/视频网站Poppen.de的技术架构分享
2019-04-27
UNIX环境编程
2019-04-27
一笔画问题【数据结构-图论】
2019-04-27
红黑树
2019-04-27
安装多个gcc
2019-04-27
Linux0.01内核根目录Makefile注释
2019-04-27
【CSDN2012年度博客之星】需要您的一票,感谢大家的支持
2019-04-27
PHP对于浮点型的数据需要用不同的方法去解决
2019-04-27
Tokyo Cabinet 安装
2019-04-27
Flink在美团的应用与实践听课笔记
2019-04-27