Android SDK App Intent机制分析 —— SDK Smaples NotePad.docxVIP

Android SDK App Intent机制分析 —— SDK Smaples NotePad.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android SDK App Intent机制分析 —— SDK Smaples NotePad.docx

Android SDK App Intent机制分析 —— SDK/smaples/NotePad代码分析 文档说明 本文档是对Android SDK Guid理解后,抽取的其中几个关键概念进行阐述。通过对范例代码的分析,加深对这几个基本概念的理解。通过对Android App核心概念——Intent的分析,帮助初学者建立起对Android App的系统级认知。 另外,本文档作为编写树控件数据绑定、View间通讯等其他几个技术点说明文档的参考文档。 Android App基本结构 了解Android App的基本结构特点,有助于进一步学习各项各项技术点。这些基本特点包括: 事件驱动模式 与其他应用客户端的工作模式一致。不同的是,PC机上的事件队列管理是由应用程序进程自己管理的。而Android App的事件队列由操作系统和运行环境统一调度。 一方面,不恰当的事件处理会危及整个系统的响应;另一方面,使应用程序的体系结构更为开放,进程见通讯更便捷。 App组件包 通常PC应用程序有一个主程序入口点,执行过程一旦交给App,就由应用进程自己管理资源和执行过程。 Android App则没有main概念。一个应用程序包可以包含若干个启动点,根据启动方式不同,App内部可以自行决定逻辑处理方式。而启动点、不同处理方式接入规则都在AndroidManifest.xml文件中约定。因此,AndroidManifest.xml可以与COM技术的IDL文件对应。 正确理解这一点,开发人员才能设计出结构开放的应用程序,也便于高效利用第三方提供的应用功能。 其他特点 Android App还有一些本质特点需要同学们了解,在今后阅读技术资料时注意,但和本文档主题内容关系不大,仅在这里提示一下。这些特点包括: Task/进程/应用程序概念与PC机应用有所不同:一个执行过程为Task,包括跨应用包和跨进程的全部执行过程。 深入的分层思想:以资源包为例,一个App代码版本可以对应多个文本串、图片等资源副本。应用程序代码不直接管理资源包,而是通过配置等手段交给运行框架在运行时决定。 MVC: Android App由Activity, Intent, Layout等内容构成。由Activity作为用户事件响应和界面资源管理的Controller。Layout与B/S方式的页面模板有所区别,不管理数据绑定等规则,仅约定界面布局,这一点与CSS更接近。这种方式真正做到了界面处理与???据处理隔离,直接效果就是:与资源包配合,界面布局可以由运行框架管理,同一个应用程序能适应不同的展示环境。 其他特点同学们可以在今后逐渐总结。 Intent分析 Intent的一部分作用与PC应用的消息队列对应。在Android环境,Intent不但是应用程序事件驱动的机制,也是模块间、进程间通讯的机制。 工作机制 Android App中,与MVC Controller对应的是Activity。Activity管理界面布局(Layout),处理界面用户事件,将数据绑定到界面控件上。 当Activity需要与其他Activity或App通讯的时候,就发起一个以Intent为参数的系统调用。由系统(Android运行框架)根据Intent中的规则决定由哪个消息接收者来处理。(这里我们也可以看到Android App的一个特点:模块间通讯最方便的方式是“组件接口调用”,而不是方法调用) 当需要调用其他Activity时,使用两个启动方法之一: public abstract void Context.StartActivity(Intent intent):要求系统找出参数指定的模块/App并执行。 public void Context.StartActivity(Intent intent, int requestCode):要求系统找出参数指定的模块/App并执行,将运行结果返回给调用进程。 这两种方法都会触发运行框架根据参数数据筛选被调用组件。 筛选规则分为两种类型: 明确指定被调用模块名:系统根据模块名找到被调用组件并执行。这种方式适合App内部组件间通讯。因为同一个App,各模块名是知道的。 指定Active类型、数据ID、数据类型:系统按照一定的算法查找匹配的组件。这种方式适合App之间调用、适合按照组件方式设计的App内部组件间的通讯。 Intent除了可以指定筛选规则外,还可以设置用户数据。 关于Intent和筛选的详细介绍,见Android SDK的文档中“Dev Guid/Intents and Intent Filters”部分。SDK文档索引路径为SDK/ /docs/intex.html. “Dev Guid/Intents and Intent Filte

您可能关注的文档

文档评论(0)

5566www + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6122115144000002

1亿VIP精品文档

相关文档