Android应用开发-基础篇概要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android应用开发-基础篇概要

* Intent解析机制 Intent解析机制主要是查找已注册在AndroidManifest.xml中所有的IntentFilter与Intent中Action、Category和Data进行比对,最终找到匹配的组件。 目标组件(Activity、Service、Broadcast Receiver)通过设置他们的Intent Filter来界定其能处理的Intent。如果一个组件没有定义Intent Filter,那么它只能接受处理显示的Intent,只有定义了Intent Filter的组件才能同时处理隐式和显示的Intent。 * Action检测 如果Intent指定了Action,则目标组件IntentFilter的Action列表中就必须包含这个Action,否则不能匹配。如果Intent没有指定Action,则Action测试自动通过。 清单文件中有一个intent-filter元素,其中可以有多个action子元素,如: intent-filter . . . ? ? action android:name=ject.SHOW_CURRENT / ? ? action android:name=ject.SHOW_RECENT / ? ? action android:name=ject.SHOW_PENDING / ? ? . . . /intent-filter 一个inter_filter至少要包含一个action子元素,否则它将阻塞所有的intents。 * Action检测实现 * Category检测 在Intent对象中出现的Category属性在Intent Filter中必须出现,否则不能通过测试。 原则上Intent Filter中必须包含“ent.category.DEFAULT”属性,否则隐式模式Intent不能通过匹配。 “ent.action.MAIN“ 和 ”ent.category.LAUNCHER” 设置是一个例外。 * Category检测实现 * 第六章、事件处理 * 6.1、Android事件处理概述 * Android的事件处理 Android提供了强大的事件处理机制,包括两套事件处理机制: @基于监听的事件处理:主要做法就是为Android界面组件绑定特定的事件监听器。 @基于回调的事件处理:主要做法就是重写Android组件特定的回调方法,或者重写Activity的回调方法。Android为绝大部分界面组件都提供了事件响应的回调方法,开发者只要重写它们即可。 * 6.2、基于监听的事件处理 * 事件监听处理 在事件监听的处理模型中,主要涉及如下 三类对象: Event Source(事件源):事件发生的场所,通常就是各个组件,例如按钮、窗口、菜单等 Event(事件):事件封装了界面组件上发生的特定事件(通常就是一次用户操作) Event Listener(事件监听器):负责监听事件源所发生的事件,并对各种事件做出相应的响应。 * 事件处理流程 外部动作 事件源 事件监听器 事件处理器 事件处理器 事件 2、触发事源上事件 3、生成事件对象 1、将事件监听器注册到事件源 4、触发事件监听器事件被作为参数传入事件处理器 5、调用事件处理器做出响应 * 外部类作为事件监听器 使用顶级类定义事件监听器类的形式比较少见,主要因为如下 两个原因: 事件监听器通常属于特定的GUI界面,定义成外部类不利于提高程序的内聚性。 外部类形式的事件监听器不能自由访问创建GUI界面的类中的组件,编程不够简洁。 但如果某个事件监听器确实需要被多个GUI界面所共享,而且主要是完成某种业务逻辑的实现,则可以考虑使用外部类的形式来定义事件监听器类 * Activity作为事件监听器 这种形式使用Activity本身作为监听器类,可以直接在Activity类中定义事件处理器方法,这种形式非常简洁。但这种做法两个缺点: 这种形式可能造成程序结构混乱,Activity的主要职责应该是完成界面初始化工作。 如果Activity界面类需要实现监听器接口,让人感觉比较怪异。 * 匿名内部类事件监听器 大部分时候,事件处理器都没有什么复用价值,因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适。实际上,这种形式是目前使用最广泛的事件监听器形式。 bn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ….. } } ) * 直接绑定到标签 Android还有一种更简单的绑定事件监听器的方式,直

文档评论(0)

6663144 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档