版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1.高煥堂講解IntentbasedProgrammingroid的4種嫡系組件(即Activity、Service、IntentReceiver和ContentProvider)之間如何互相溝通呢?這4種嫡系組件都是由roid啟動(dòng)的,并不是組件之間透過(guò)直接呼叫而啟動(dòng)的。就像我們打手機(jī)去車行叫出租車,而不是直接到街道上叫車。我們送給行一個(gè)簡(jiǎn)訊一通電話,表明我們的「意圖」(Intent),當(dāng)車行經(jīng)理接到此意圖,就依據(jù)你的意圖的內(nèi)含條件而去
2、挑選最合適的出租車,然后派遣它去接你?!敢鈭D」(Intent)本身是定義為一個(gè)類別(Class),一個(gè)Intent對(duì)象表達(dá)一個(gè)目的(Goal)或期望(Expectation),敘述其所期望的服務(wù)或動(dòng)作、與動(dòng)作有關(guān)的數(shù)據(jù)等。roid則根據(jù)此Intent對(duì)象之?dāng)⑹觯?fù)責(zé)配對(duì),找出相配的組件,然后將Intent對(duì)象傳遞給所找到的組件,roid的媒婆任務(wù)就完成了。因此,Intent對(duì)象扮演著媒體中介的角色,提供「Client組件?roid?Se
3、rver組件」之間互相溝通的相關(guān)信息,實(shí)現(xiàn)了Client組件與Server組件之間『不知而亦能用』之效果,這又稱為疏結(jié)合(Looselycoupled)效果。其創(chuàng)造了Server組件抽換的自由度,這又稱為PnP(PlugPlay)。茲以下圖為例,Activity主要是提供UI畫(huà)面來(lái)與User進(jìn)行互動(dòng),兩個(gè)Activity之間的直接互動(dòng)較少。其它如ContentProvider則常是為Activity等提供服務(wù)的。所以Activity發(fā)出
4、Intent對(duì)象委托roid挑選到適當(dāng)?shù)腃ontentProvider對(duì)象(并且將Intent對(duì)象傳遞給ContentProvider對(duì)象)之后,通常會(huì)透過(guò)ContentProvider接口而呼叫ContentProvider的各項(xiàng)服務(wù)或功能。在此圖所示的范例里,當(dāng)我們?cè)谝粋€(gè)訂單列表畫(huà)面(如Activity1),點(diǎn)選某個(gè)訂單之后,希望能夠呈現(xiàn)出此訂單的采購(gòu)細(xì)項(xiàng)畫(huà)面(如Activity2)。此時(shí),Activity1需要發(fā)出一個(gè)Intent
5、對(duì)象,這個(gè)Intent對(duì)象說(shuō)明了意圖:包括“查找”(Get)動(dòng)作、訂單ID等數(shù)據(jù),然后呼叫Activity父類別的startActivity(Intentintent)函數(shù),將此Intent對(duì)象傳送給roid。而roid會(huì)根據(jù)此Intent對(duì)象中的敘述,與roidManifest.xml所敘述的各嫡系類別之條件相比較,找出與此Intent敘述相配的組件(如Activity2),然后roid將該Intent對(duì)象遞交給它,于是Activit
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
評(píng)論
0/150
提交評(píng)論