SharedPerferences的简单使用
来源:互联网 发布:js修改对象的属性值 编辑:程序博客网 时间:2024/05/22 17:37
工作需求:
1、用户第一次进入悬浮,显示小红点
2、点击之后,红点消失
3、再次进入时,被点击过的红点不显示,未被点击的红点显示
ps:所有所属副Button下的条目中的红点只允许显示一次,被点击之后,将永不显示
1、因为SharedPerferences是一种轻量级的数据存放方式,可以存储简单的数据类型(如int、boolean、string),用于这种需求就比较方便。
2、且只用创建一次,在任何一个类中都可以使用,只要在工程内。
3、但是如果是要存储相同的数据类型、多个数据的话,存储的名字就得不一样,否则数据会被一层一层覆盖。不过这也是有解决办法的,据说使用不同的模式效果会不一样。
创建==》put数据
SharedPerferences perference=getContext.getSharedPerferences("REDDOT",Context.MODE_PRIVATE);
Editor editor=perference.edit();
editor.putInt("position",1);
editor.putBoolean()"noRedDot",true);
editor.commit();
使用==》get数据
SharedPerferences perference=getContext.getSharedPerferences("REDDOT",Context.MODE_PRIVATE);
int position=perference.getInt("position",-1); //存储时所用的数据名 没有数据时给定的默认值
boolean noRedDot=perference.getBoolean("noRedDot",false);
拿到数据后,就可以做你想要的相关操作了。
遇到的问题:
1、使用时,报空值异常, 是因为没有给它们默认值,所以在使用前应先赋值一次。默认小红点是存在的,只有在点击之后才会消失,在itemClick中做操作,改变它的值。
2、因为小红点不止一个,值容易被覆盖,怎么识别呢?
int position=perference.getInt("position"+game.getGameId,game.getGameId);
boolean noRedDot=perference.getBoolean("noRedDot"+game.getGameId,true);
因为gameId是唯一的,前面的只是string类型字符串,只要用能够标识所有条目的不同地方来区别它们就好了。
1、用户第一次进入悬浮,显示小红点
2、点击之后,红点消失
3、再次进入时,被点击过的红点不显示,未被点击的红点显示
ps:所有所属副Button下的条目中的红点只允许显示一次,被点击之后,将永不显示
1、因为SharedPerferences是一种轻量级的数据存放方式,可以存储简单的数据类型(如int、boolean、string),用于这种需求就比较方便。
2、且只用创建一次,在任何一个类中都可以使用,只要在工程内。
3、但是如果是要存储相同的数据类型、多个数据的话,存储的名字就得不一样,否则数据会被一层一层覆盖。不过这也是有解决办法的,据说使用不同的模式效果会不一样。
创建==》put数据
SharedPerferences perference=getContext.getSharedPerferences("REDDOT",Context.MODE_PRIVATE);
Editor editor=perference.edit();
editor.putInt("position",1);
editor.putBoolean()"noRedDot",true);
editor.commit();
使用==》get数据
SharedPerferences perference=getContext.getSharedPerferences("REDDOT",Context.MODE_PRIVATE);
int position=perference.getInt("position",-1); //存储时所用的数据名 没有数据时给定的默认值
boolean noRedDot=perference.getBoolean("noRedDot",false);
拿到数据后,就可以做你想要的相关操作了。
遇到的问题:
1、使用时,报空值异常, 是因为没有给它们默认值,所以在使用前应先赋值一次。默认小红点是存在的,只有在点击之后才会消失,在itemClick中做操作,改变它的值。
2、因为小红点不止一个,值容易被覆盖,怎么识别呢?
int position=perference.getInt("position"+game.getGameId,game.getGameId);
boolean noRedDot=perference.getBoolean("noRedDot"+game.getGameId,true);
因为gameId是唯一的,前面的只是string类型字符串,只要用能够标识所有条目的不同地方来区别它们就好了。
0 0
- SharedPerferences的简单使用
- 如何使用SharedPerferences
- SharedPerferences的用法
- SharedPerferences 保存数据,android提供用于保存简单配置信息,标记,用户数据的一种方式
- 解决SharedPerferences初始化报NullPoint空指针的异常
- android数据存储-->SharedPerferences
- Sharedperferences数据储存
- SharedPerferences 记住密码
- SharedPerferences 工具类
- Android中本地存储方式之一:Sharedperferences
- sharedperferences 记住密码,自动登录demo
- sharedperferences 记住密码,自动登录demo
- 简单易懂的使用
- ant的简单使用
- Log4j的简单使用
- TCPDUMP的简单使用
- IComparer的简单使用
- TreeView的简单使用
- Activity.setContentView()源码分析
- Java中异常处理机制
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- Jquery和Ajax的使用参考手册
- sql之left join、right join、inner join的区别
- SharedPerferences的简单使用
- Java RMI 远程方法调用
- 方法返回值与类名相同
- 监听ContentProvider数据改变
- jpg转换成pdf软件免费下载
- android:scrollbarStyle属性及滚动条和分割线覆盖问题
- JAVA的验证代码
- VI命令
- VS2008编译openssl