本文实例讲述了Android实现Activities之间进行数据传递的方法。分享给大家供大家参考。具体分析如下:

首先,先说明一下Activity的启动及关闭:

1. startActivity(Intent intent);  启动Activity

finish();  结束当前Activity

2. startActivityForResult(Intent intent, int requestCode);  以指定的请求码requestCode启动Activity

finishAcitivity(int requestCode);  结束以startActivityForResult(Intent intent, int requestCode)方法启动的Activity

假如有多个Activity,那么我们要关闭其中一个,那么就可以设置requestCode,来关闭相对应的Activity。

接着,我们来讲数据传递。问题是这样的:假如我们从页面A到页面B,A中有一些数据,比如用户信息(用户名,账号,密码等),从A中进入到页面B,在B中我们要获取这些数据信息,要怎么进行传递呢?

Intent提供了各种方法来携带额外的数据信息:

putExtras(Bundle data):向Intent中放入药携带的数据包

Bundle getExtras():取出Intent中携带的数据包,得到的是一个Bundle对象

putExtra(String name, Xxx value):向Intent中按照键值对key-value形式存入数据信息

getXxx(String name):从Intent中按照key获取相对应的数据信息

putXxx(String key, Xxx data):向Bundle中放入Xxx类型的数据信息

getXxx(String key):从Bundle中获取key对应的数据信息

putSerializable(String key, Serializable data):向Bundle中放入一个可以序列化的对象

getSerializable(String key, Serializable data):从Bundle中取出一个可以序列化的对象

有了以上的这些方法我们就可以进行数据传递了:

方法如下:

1. 在页面A中点击按钮bn,跳转到页面B代码如下:

int requestCode = 0;

bn.setOnClickListener(new OnClickListener())

{

@Override

public void onClick(View source)

{

Intent intent= new(A.this, B.class);

startActivityForResult(intent, inquestCode);

//打开指定的Activity B,并等待返回的结果,

//其中inquestCode是请求码

}

}

2. 在B页面中添加数据,代码如下:

Intent intent = getIntent();

//获取当前启动的Acitivity B所对应的Intent

intent.putExtra("数据内容","我是李明");

//向Intent中绑定数据信息"我是李明"

B.this.setResult(1, intent);

//设置结果码,并设置结束之后退回的Activity

B.this.finish();

3. 在A中获取数据信息,代码如下:

在页面A中,为了获取B中返回的结果,我们应该重写A页面中的onActivityResult()方法,当B返回结果时,这个方法将会被调用:

String myData;

@override

public void onAcitivityResult(int requestCode,int resultCode,Intent intent)

//重写该方法以回调方式来获取B返回的结果

{

if(requestCode==0&&resultCode==1)

{

Bundle data = intent.getExtras();

String myResultData = data.getString("数据内容");

//这样myResultData就是我们要从B中传递过来的数据信息了

}

}

总结,通过使用Intent中的方法我们可以实现不同Activity之间的数据传递,通过设置标识码和结果码,我们可以有选择的打开关闭不同的Activity,这就是Activity之间的数据传递。

希望本文所述对大家的Android程序设计有所帮助。

android 打印流程图,Android实现Activities之间进行数据传递的方法相关推荐

  1. Android中Activity之间的数据传递(Intent和Bundle)

    当一个Activity启动另一个Activity时,常常会有一些数据传过去,对于Activity之间的数据交换更简单,因为两个Activity之间进行数据传递交换更简单,因为两个Activity之间本 ...

  2. 三个activity之间跳转 数据传递_第二百四十二回:Android中Fragment之间的数据传递概述...

    各位看官们大家好,上一回中咱们说的是Android中Activity之间数据传递的例子,这一回咱们说的例子是Fragment之间的数据传递.闲话休提,言归正转.让我们一起Talk Android吧! ...

  3. Android初级开发第七讲--特效和数据传递处理

    博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 大家好,相信大家对iphone上的特效早有耳闻,特效不仅给人以 ...

  4. Android--Activity的跳转及Activity之间的数据传递

    Activity的跳转及Activity之间的数据传递(作业) 首先呢,看到这个作业第一感觉并不难,因为只是涉及到多activity之间的跳转以及简单的数据传递而已.然后,做的时候也没花费多长的时间, ...

  5. 【好文推荐】Activity之间的数据传递方法汇总

    在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间数据的传递方法. 1.通过 Intent 传递 我们在进行 Activit ...

  6. Activity的创建步骤+Activity之间的数据传递+案例(人品测试器)

    Android的四大组件: 1.activity(多层界面运用) 2.广播接收者 3.服务 4.内容提供者 此外,我这里还会说道 5.多媒体编程(图形.声音.视频) 6.Fragment+动画 7.S ...

  7. mysql表之间怎么联动_数据库之间的数据联动调整方法、装置及系统的制作方法...

    数据库之间的数据联动调整方法.装置及系统的制作方法 [技术领域] [0001]本发明涉及一种信息处理技术领域,特别是涉及一种数据库之间的数据联动调整方法.装置及系统. [背景技术] [0002]随着信 ...

  8. javascript表单之间的数据传递

    今天有朋友问我关于用javascript来进行页面各表单之间的数据传递的问题,我以前也写过,不过从来没有注意,今天总结了一下,希望能够给大家一些帮助,也帮助我总结以前学过,用过的知识. 一,最简单的就 ...

  9. python跨文件全局变量_Python 进程之间共享数据(全局变量)的方法

    进程之间共享数据(数值型): import multiprocessing def func(num): num.value=10.78 #子进程改变数值的值,主进程跟着改变 if __name__= ...

最新文章

  1. python 中 sorted() 和 list.sort() 的用法
  2. idea 新建的java项目没发run_IDEA 如何创建一个普通的 Java 项目,及创建 Java 文件并运行...
  3. 分享AI有道干货 | 126 篇 AI 原创文章精选(ML、DL、资源、教程)
  4. Editability on SAP Text
  5. @PostConstruct注解学习
  6. javadoc定义异常_Doclava:来自Google的自定义Javadoc Doclet
  7. C++学习之路 | PTA乙级—— 1047 编程团体赛 (20 分)(精简)
  8. 时间格式 asp.net
  9. hibernate的Configuration对象的configure()方法的作用
  10. Redis安装基本步骤
  11. 查看编译war包的jdk版本
  12. Android 适配器 自定义
  13. ElasticSearch Groovy 沙盒绕过 代码执行漏洞 CVE-2015-1427 漏洞复现
  14. Symbol Factory Universal v3.X 工业图形库
  15. 移动用户体验设计:iOS APP体验设计
  16. arduino烧写失败,改用progisp烧写
  17. 疑似苹果平板电脑规格表曝光
  18. 企业信息化建设规划大纲
  19. 背了单词再也不怕忘,多邻国的AI要逆天!
  20. 如何看待人工智能的现状

热门文章

  1. webpack4.0各个击破(9)—— karma篇
  2. LeetCode-1423:可获得的最大点数
  3. labelImg重新开启工具箱(栏)
  4. JAVA 使用类的继承和接口实现多态
  5. 设计模式--缺省适配模式
  6. 利用pandas,matplotlib画饼图
  7. python程序多次运行_Python内怎么使同一个.py文件多次运行?
  8. linux运维脚本编写,最强Linux自动化运维 Shell高级脚本编程实战 带习题+项目实战案例+全套配置脚本...
  9. hive 2.1.1 mysql_Hive2.1.1集群搭建
  10. pca主成分分析_降维:主成分分析(PCA)