- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 深入解析Activity 轻松学Android开发PPT
Extra中封装了一些额外的附加信息,这些信息键值对的形式存在的。Intent可以通过putExtras()与getExtras()方法来存储和获取Extra。Android系统的Intent类中,同样对一些常用的Extra键值进行了定义,下面列出一些常用的。 EXTRA_CC,邮件抄送人邮箱地址。 EXTRA_EMAIL,装有邮件发送地址的字符串数组。 EXTRA_SUBJECT,当使用ACTION_SEND动作时,描述要发送邮件的主题。 EXTRA_TEXT,当使用ACTION_SEND动作时,描述要发送文本的信息。 5 Extra 一些有关系统如何启动组件的标志位,Android同样对其进行了封装。开发程序中,一般不会用到。 6 Flag IntentFilter 描述了一个组件愿意接收什么样的Intent对象,Android将其抽象为android.content.IntentFilter类。在 Android 的 AndroidManifest.xml 配置文件中可以通过intent-filter节点,为一个Activity指定其IntentFilter,以便告诉系统该Activity可以响应什么类型的 Intent。这样的Intent称为隐式的Intent。 当程序员使用startActivity(intent)来启动另外一个Activity时,如果直接指定intent了对象的Component属性,那么Activity Manager将试图启动其Component属性指定的Activity。否则Android将通过Intent的其它属性,从安装在系统中的所有Activity中查找与之最匹配的一个启动。如果没有找到合适的Activity,应用程序会得到一个系统抛出的异常。 6.4.2 意图过滤器IntentFilter 检查Action 一个Intent只能设置一种Action,但是一个IntentFilter却可以设置多个Action过滤。当IntentFilter设置了多个Action时,只需一个满足即可完成Action验证。当IntentFilter中没有说明任何一个Action时,那么任何的Action都不会与之匹配,而如果Intent中没有包含任何Action,那么只要IntentFilter中含有Action时,便会匹配成功。 检查Data 数据的监测主要包含两部分,数据的URI以及数据类型。而数据URI又被分成三部分进行匹配(scheme、authority、path),只有这些全部匹配时,Data的验证才会成功。 检查Category IntentFilter同样可以设置多个Category。当Intent中的Category与IntentFilter中的其中一个Category完全匹配时,便会通过Category的检查,而其他的Category并不受影响。但是当IntentFilter没有设置Category时,只能与没有设置Category的Intent相匹配。 本章详细介绍了Android的组件之一——Activity,从单界面,到多界面跳转,再到数据传递。本章重点就是学习如何开发Activity,如何在AndroidManifest.xml文件中配置Activity,掌握Activity生命周期等。本章难点在于,实现多个Activity之间的数据共享,以及Intent和IntentFilter类。希望读者勤于练习,熟练掌握。 6.5 小结 /forum.php?mod=groupfid=309 第6章 深入解析Activity 在前面的章节中,我们已经简单的了解到,Activity是Android中最常用的组件。它是应用程序的表示层。下面我们来深入学习Activity。 首先,我们从只有一个用户界面的Android程序,开始Activity的学习。 6.1 从一个单界面程序看Activity 在Android应用程序里,一个Activity就是一个用户界面。用户与程序的交互就是通过该类来实现的。 6.1.1 单界面程序启动 每一个活动(Activity)都处于某一个状态。对于开发者来说,是无法控制其应用程序处于某一个状态的,这些均由系统来完成。但是当一个活动的状态发生改变的时候,开发者可以通过调用onXXX()的方法,获取到相关的通知信息。 第一次启动MainActivity,依次执行以下方法:onCreate()? MainActivity created?onStart()?MainActivity started?onResume()?MainActivity actived,进入活动状态。 6.1.2 了解Activity状态变化 结束Main
文档评论(0)