SharedPreferences封装
2015-06-25 14:47
375 查看
SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置
SharedPreferences每次使用都比较繁琐,所以可以封装这个类方便调用
封装之前代码比较繁琐,多个地方调用都要写出SharedPreferences这个类,代码如下:
封装之后调用会很容易:
先创建一个工具包: new - Package(utils) ;
在utils包下创建工具类: new - class(PrefUtils);
代码:
这样就实现了工具类的封装,不知使用于SharedPreferences,对于其他的类也可以使用,主要是自己的习惯。
SharedPreferences每次使用都比较繁琐,所以可以封装这个类方便调用
封装之前代码比较繁琐,多个地方调用都要写出SharedPreferences这个类,代码如下:
SplashActivity.java /** * 跳转到下一页 */ private void jumpNextPage() { // 判断之前有没有显示过新手引导页 // SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置 SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE); boolean userGuide = sp.getBoolean("is_user_guide_showed", false); if (!userGuide) { // 结束后开始一个activity,要new一个新的意图 startActivity(new Intent(SplashActivity.this, GuideActivity.class));// 传一个自身的context和跳转的对象 } else { startActivity(new Intent(SplashActivity.this, MainActivity.class));// 传一个自身的context和跳转的对象 } finish();// 跳出去以后就结束当前的页面 }
GuideActivity.java btnStart.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 跟新sp,表示已经展示了引导页 SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE); sp.edit().putBoolean("is_uesr_guide_showed", true); // 跳转主页面 startActivity(new Intent(GuideActivity.this, MainActivity.class));// 第一个拿到context对象,调到第二个 finish();// 结束当前页面 } });
封装之后调用会很容易:
先创建一个工具包: new - Package(utils) ;
在utils包下创建工具类: new - class(PrefUtils);
代码:
PrefUtils.java public class PrefUtils { public static final String PREF_NAME = "config"; //ctx:传进来的context对象(调用这份方法的类),key:是自定义的常用配置,defaultValue:value public static boolean getBoolean(Context ctx, String key, boolean defaultValue) { SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE); return sp.getBoolean(key, defaultValue); } public static void setBoolean(Context ctx, String key, boolean value) { SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE); sp.edit().putBoolean(key, value).commit(); } }
SplashActivity.java private void jumpNextPage() { // 判断之前有没有显示过新手引导页 // SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置 // SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE); // boolean userGuide = sp.getBoolean("is_user_guide_showed", false); // 封装后 boolean userGuide = PrefUtils.getBoolean(this, "is_user_guide_showed", false); if (!userGuide) { // 结束后开始一个activity,要new一个新的意图 startActivity(new Intent(SplashActivity.this, GuideActivity.class));// 传一个自身的context和跳转的对象 } else { startActivity(new Intent(SplashActivity.this, MainActivity.class));// 传一个自身的context和跳转的对象 } finish();// 跳出去以后就结束当前的页面 }
GuideActivity.java btnStart.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 跟新sp,表示已经展示了引导页 // SharedPreferences sp = getSharedPreferences("config", // MODE_PRIVATE); // sp.edit().putBoolean("is_uesr_guide_showed", true); // 封装后 PrefUtils.setBoolean(GuideActivity.this, "is_uesr_guide_showed", true); // 跳转主页面 startActivity(new Intent(GuideActivity.this, MainActivity.class));// 第一个拿到context对象,调到第二个 finish();// 结束当前页面 } });
这样就实现了工具类的封装,不知使用于SharedPreferences,对于其他的类也可以使用,主要是自己的习惯。
相关文章推荐
- HTML5 WebSocket 技术介绍
- 使用DropzoneJS上传图片,一步到位很给力!
- javascript基础知识概念
- node.js导出excel ,csv
- JQuery调用iframe子页面函数/对象的方法
- Jquery ajax 传参中文乱码问题
- 前端单元测试总结
- 解析处理常用json数据总结
- ReactiveCocoa入门(一)
- LintCode Remove Nth Node From End of List 删除链表中倒数第n个节点
- jquery获取浏览器类型和版本号
- JavaScript:exec()方法的用法及说明
- Javascript类继承-机制-代码Demo【原创】
- 博客迁移至“零一积流|it-refer.com”
- jQuery插件开发模式
- AngularJS+Servlet跨域问题
- jQuery中wrap、wrapAll和wrapInner用法以及区别
- html5 canvas
- 直接读取服务器的一个json 文件
- Nodepad++ 快捷键