【精品】Android讲义完整文字版--[台湾]高焕堂.doc

【精品】Android讲义完整文字版--[台湾]高焕堂.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android讲义 (完整文字版) 1.高焕堂讲解 Intent-based Programming Android的4种嫡系组件(即Activity、Service、IntentReceiver和ContentProvider)之间如何互相沟通呢?这4种嫡系组件都是由Android启动的,并不是组件之间透过直接呼叫而启动的。就像我们打手机去车行叫出租车,而不是直接到街道上叫车。我们送给行一个简讯一通电话,表明我们的「意图」(Intent),当车行经理接到此意图,就依据你的意图的内含条件而去挑选最合适的出租车,然后派遣它去接你。 「意图」(Intent)本身是定义为一个类别(Class),一个Intent对象表达一个目的(Goal)或期望(Expectation),叙述其所期望的服务或动作、与动作有关的数据等。Android则根据此Intent对象之叙述,负责配对,找出相配的组件,然后将 Intent对象传递给所找到的组件,Android的媒婆任务就完成了。 因此,Intent对象扮演着媒体中介的角色,提供「Client组件 ( Android ( Server组件」之间互相沟通的相关信息,实现了Client组件与Server组件之间『不知而亦能用』之效果,这又称为疏结合(Loosely-coupled)效果。其创造了Server组件抽换的自由度,这又称为PnP(Plug and Play)。 兹以下图为例,Activity主要是提供UI画面来与User进行互动,两个Activity之间的直接互动较少。其它如ContentProvider则常是为Activity等提供服务的。所以Activity发出Intent对象委托Android挑选到适当的ContentProvider对象(并且将Intent对象传递给ContentProvider对象)之后,通常会透过ContentProvider接口而呼叫ContentProvider的各项服务或功能。 ? ? ? 在此图所示的范例里,当我们在一个订单列表画面(如Activity-1),点选某个订单之后,希望能够呈现出此订单的采购细项画面(如Activity-2)。此时,Activity-1需要发出一个 Intent对象,这个Intent对象说明了意图:包括“查找”(Get)动作、订单ID等数据,然后呼叫Activity父类别的startActivity (Intent intent)函数,将此Intent对象传送给Android。而Android会根据此Intent对象中的叙述,与AndroidManifest.xml所叙述的各嫡系类别之条件相比较,找出与此Intent叙述相配的组件(如Activity-2),然后Android将该Intent对象递交给它,于是Activity-2会根据此Intent对象之叙述而执行相应的动作。?????????? ?? (by Misoo团队) 2.高焕堂讲解 ContentProvider范例 1.? 何谓Android的嫡系组件 Android有4项一等公民(或称为嫡系亲属),包括:Activity、ContentProvider、IntentReceiver与Service。它们都必须宣告于AndroidManifest.xml档案里,如下: ?xml version=1.0 encoding=utf-8? manifest xmlns:android=/apk/res/android package=com.misoo.SQ03 uses-permission xmlns:android=/apk/res/android android:name=android.permission.INTERNET /uses-permission application android:icon=@drawable/icon android:label=@string/app_name provider android:name=DataProvider android:authorities=vider.SQ03 /provider activity android:name=.ac01 android:label=@string/app_name intent-filter action android:name=ent.action.MAIN / category androi

文档评论(0)

好老师 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档