没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
解析解析activity之间数据传递方法的详解之间数据传递方法的详解
本篇文章是对activity之间数据传递的方法进行了详细的分析介绍,需要的朋友参考下
1 基于消息的通信机制基于消息的通信机制 Intent--------boudle,extra
用这种简单的形式,一般而言传递一些简单的类型是比较容易的,如int、string等
详细介绍下Intent机制
Intent包含两部分:包含两部分:
1 目的【action】-------要去到哪里去
2 内容【category、data】----------路上带些什么,区分性数据和内容性数据
简单数据传递:
复制代码 代码如下:
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
intent.putExtra("flag", flag);
startActivity(intent);
/////////////////////////////////////////////////////////
String flag = " ";
Intent intent1 = this.getIntent();
flag = intent1.getStringExtra("flag");
/////////////////////////////////////////////////////////
数据类型有限,遇到不可序列化的数据Bitmap,Inputstream,或者是LinkList链表等数据类型就不太好用了
2 利用利用static静态数据,静态数据,public static成员变量成员变量
我们千万不要以为Davlik虚拟机的垃圾回收器会帮助我们回收不需要的内存垃圾。事实上,回收器并不可靠,
尤其是手机上,是更加的不可靠。 因此,除非我们要使自己的程序变得越来越糟糕,否则尽量远离static。
注:如果经常使用static的Bitmap、Drawable等变量。可能就会抛出一个在Android系统中非常著名的异常(
以前budget这个单词一直记不住什么意思,自从经常抛出这个异常后,这个单词终于烂熟于心了,)
ERROR/AndroidRuntime(4958): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
注:如果经常使用static的Bitmap、Drawable等变量。可能就会抛出一个在Android系统中非常著名的异常(
以前budget这个单词一直记不住什么意思,自从经常抛出这个异常后,这个单词终于烂熟于心了,)
3 基于外部存储的传输基于外部存储的传输 ,,File/Preference/Sqlite,如果要针对第三方应用需要如果要针对第三方应用需要Content provider
作为一个完成的应用程序,数据存储操作是必不可少的。因此,作为一个完成的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据存储方式。系统一共提供了四种数据存储方式。
分别是:SharePreference、SQLite、Content Provider和File。由于Android系统中,数据基本都是私有的的
,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider。
SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android
为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操作数据库的API。
SharedPreference: 除SQLite数据库外,另一种常用的数据存储方式,其本质就是一个xml文件,常用于
存储较简单的参数设置。
File: 即常说的文件(I/O)存储方法,常用语存储大数量的数据,但是缺点是更新数据将是一件困难的
事情。
ContentProvider: ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制。一个
应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制。并且此种方式忽略了底层的数据存储
实现,ContentProvider提供了一种统一的通过Uri实现数据操作的方式。
详细介绍使用过程详细介绍使用过程
File 通过文件内容的读取传递数据
Preference: SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值
对数据,通常用来存储一些简单的配置信息
SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现
SharedPreferences存储的步骤如下:存储的步骤如下:
一、根据Context获取SharedPreferences对象
二、利用edit()方法获取Editor对象。
三、通过Editor对象存储key-value键值对数据。
四、通过commit()方法提交数据。
复制代码 代码如下:
SharedPreferences sp=getSharedPreferences("login",0);//login存储文件名
SharedPreferences.Editor se=sp.edit();;
se.putString("server", logEdit.getText().toString());
se.putString("port", portEdit.getText().toString());
se.commit();
/////////////////////////////////////////////////////////////
SharedPreferences ps=getSharedPreferences("login",0);//login是存储文件
server=ps.getString("server", "");
port=ps.getString("port", "");
logEdit.setText(server);
资源评论
weixin_38698943
- 粉丝: 2
- 资源: 900
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 转载使用许可协议范本(互联网行业)模版.doc
- 软件产业运行情况调研问卷模版.doc
- 软件产品发布管理流程.doc
- 软件仿真多机串行通信.doc
- Python大作业:音乐播放软件(爬虫+可视化+数据分析+数据库)
- 课程设计-python爬虫-爬取日报,爬取日报文章后存储到本地,附带源代码+课程设计报告
- 软件和信息技术服务行业投资与前景预测.pptx
- 课程设计-基于SpringBoot + Mybatis+python爬虫NBA球员数据爬取可视化+源代码+文档+sql+效果图
- 软件品质管理系列二项目策划规范.doc
- 基于TensorFlow+PyQt+GUI的酒店评论情感分析,支持分析本地数据文件和网络爬取数据分析+源代码+文档说明+安装教程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功