- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
Android开发中Activity之间的通信原理黄继红汪淼
?
?
摘要:让Android应用程序中的Activity对象之间,以及应用程序之间实现功能上的协作,必须实现Activity对象之间的通信及应用程序之间的通信功能。Android是通过Intent技术实现以上功能,主要包括实现Activity对象之间的调用,数据的传递,数据的返回等功能。
关键词:ActivityIntent
1引言
在一个AndroidAPP中,可以有很多Activity对象,AndroidAPP通过这些Activity对象实现其功能。那么,在同一个AndroidAPP中或不同的AndroidAPP中,如何实现下列问题:
1通过一个Activity启动其他Activity?
1.1Activity之间如何传送数据?
1.2Activity之间如何返回数据?
上述三个问题是本文主要阐述的内容。
2主要类对象
2.1Activity对象
由Activity类的子类创建的对象称为Activity对象。Activity对象是AndroidAPP程序结构的主要组成部分。一个Android应用程序可以包含一个或多个Activity对象,但必须有一个Activity对象为主要的Activity对象,主要的Activity对象是Android应用程序运行的入口。Android应用程序中的一个Activity对象可以请求加载它包含的其他的Activity对象。需要在应用程序的配置文件中注册每个Activity对象,即配置一个activity标记,如此应用程序才可以使用这个Activity对象。
2.2Intent对象
Intent对象主要作用是封装意图和数据,程序寻找能够完成Intent对象封装的意图的Activity对象。如果只找到一个这样的Activty对象,就激活这个Activity对象;如果找到多个这样的Activity对象,就给出一个选择列表,让用户选择其中一个Activity对象,并激活所选择的Activity对象[1]。
3Activity之间的调用
实现Activity之间的调用,首先,创建Intent对象,构造方法Intent(Stringaction),参数action为动作类型。例如:Intentintent=newIntent(Intent.ACTION_DIAL);
其次,调用Activity的startActivity(Intentintent)方法,参数intent封装了意图和数据,程序将根据其意图找到所有的能实现该意图的Activity对象。
然后,配置配置文件,在配置文件AndroidManifest.xml中配置Activity的动作与范畴,例如,在配置文件中,注册的SubActivity对象配置的动作为android:name=android.intent.action.MAIN,配置的范畴为android:name=android.intent.category.LAUNCHER,android.intent.category.DEFAULT。
4Activity之间的数据传递和返回
Intent对象的封装的数据不是寻找Activity的条件,是传递给所找到的Activity对象的数据,被找到的Activity对象可以根据需要决定是否接收这些数据。
4.1Intent封装数据方式一
Intent对象intent使用putExtra方法添加附加的数据,并为这个附加数据指定一个String类型的检索关键字。例如,intent.putExtra(number1,125.12);被启动的Activity可以根据需要决定是否接收这些数据,获取方法是:
首先,得到启动当前Activity对象的Intent对象,Intentintent=getIntent();
其次,intent调用诸如getXXXExtra(关键字)的方法,通过关键字key得到想要的数据,例如,doublenumber1=intent.getDoubleExtra(“number1”,1.0);如果获取不到,就用默认值1.0。
4.2Intent封装数据方式二
Intent还可以使用Bundle类封装数据,具体使用步骤如下:
1)创建一个Boundle对象Bundlebundle=newBundle();bundle对象调用诸如putXXX(关键字key,数据data)的方法将数据data放入bundle对象中,并为该数据指定一个String类型的检索关键字。例如,bundle.putDouble(number1,10.01);
2)intent对象使用putExtras(Bundleextras)方法将bundle对象放入当前intent对象中,如,
您可能关注的文档
- IH平衡阀应用及典型故障分析.docx
- 48例B超诊断急腹症的临床效果观察.docx
- 40例重型颅脑损伤的整体护理体会.docx
- EPC总承包模式下的工程项目管理探究.docx
- 浅谈在新形势下如何创成人技校声誉.docx
- 公路工程项目施工成本管理与控制沈紫.docx
- Roseonly营销管理分析.docx
- 800m水深无中继海底光缆抛放敷设施工关键技术研究.docx
- 农村小学留守儿童教学计算能力提高的有效途径研究.docx
- 合同法当事人意思自治原则.docx
- 英语人教PEP版八年级(上册)Unit4+writing+写作.pptx
- 人美版美术四年级(上册)8 笔的世界 课件 (1).pptx
- 人美版美术七年级(上册)龙的制作.pptx
- 英语人教PEP版六年级(上册)Unit 2 第一课时.pptx
- 数学苏教版三年级(上册)3.3 长方形和正方形周长的计算 苏教版(共12张PPT).pptx
- 音乐人教版八年级(上册)青春舞曲 课件2.pptx
- 音乐人教版四年级(上册) 第一单元 音乐知识 附点四分音符|人教版.pptx
- 英语人教PEP版四年级(上册)Unit 6 Part B let's learn 1.pptx
- 道德与法治人教版二年级(上册)课件-3.11大家排好队部编版(共18张PPT).pptx
- 人美版美术七年级(上册)《黄山天下奇》课件1.pptx
文档评论(0)