新聞中心
在每一個Android應(yīng)用程序都可能會在自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例,Android是一個有數(shù)百兆大小的較大系統(tǒng),各部分之間是有機聯(lián)系的,僅供大家學(xué)習(xí)思考。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),濟水街道企業(yè)網(wǎng)站建設(shè),濟水街道品牌網(wǎng)站建設(shè),網(wǎng)站定制,濟水街道網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,濟水街道網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
Intent負(fù)責(zé)對應(yīng)用中一次操作的動作、動作涉及數(shù)據(jù) 、附加數(shù)據(jù)進行描述,Android則根據(jù)此Intent的描述,負(fù)責(zé)找到對應(yīng)的組件,將 Intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。因此,Intent在這里起著一個媒體中介的作用,專門提供組件互相調(diào)用的相關(guān)信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。
例如,在一個聯(lián)系人 維護的應(yīng)用中,當(dāng)我們在一個聯(lián)系人列表屏幕(假設(shè)對應(yīng)的Activity為listActivity)上,點擊某個聯(lián)系人后,希望能夠跳出此聯(lián)系人的詳細(xì)信息屏幕(假設(shè)對應(yīng)的Activity為detailActivity)
為了實現(xiàn)這個目的,listActivity需要構(gòu)造一個 Intent,這個Intent用于告訴系統(tǒng),我們要做“查看”動作,此動作對應(yīng)的查看對象是“某聯(lián)系人”,然后調(diào)用startActivity (Intent intent),
將構(gòu)造的Intent傳入,系統(tǒng)會根據(jù)此Intent中的描述,到ManiFest中找到滿足此Intent要求的Activity,系統(tǒng)會調(diào)用找到的 Activity,即為detailActivity,最終傳入Intent,detailActivity則會根據(jù)此Intent中的描述,執(zhí)行相應(yīng)的操作。
在Android參考文檔中,對Intent的定義是執(zhí)行某操作的一個抽象描述(確實很抽象)。我們先來看看這里的抽象描述,到底描述了什么。首先, 是要執(zhí)行的動作(action)的一個簡要描述,如VIEW_ACTION(查看)、EDIT_ACTION(修改)等,Android為我們定義了一套標(biāo)準(zhǔn)動作:
- MAIN_ACTION
- VIEW_ACTION
- EDIT_ACTION
- PICK_ACTION
- GET_CONTENT_ACTION
- DIAL_ACTION
- CALL_ACTION
- SENDTO_ACTION
- ANSWER_ACTION
- INSERT_ACTION
- DELETE_ACTION
- RUN_ACTION
- LOGIN_ACTION
- CLEAR_CREDENTIALS_ACTION
- SYNC_ACTION
- PICK_ACTIVITY_ACTION
- WEB_SEARCH_ACTION
此外,我們還可以根據(jù)應(yīng)用的需要,定義我們自己的動作,并可定義相應(yīng)的Android應(yīng)用來處理我們的自定義動作,其次, 是執(zhí)行動作要操作的數(shù)據(jù)(data)。Android中采用指向數(shù)據(jù)的一個URI來表示,如在聯(lián)系人應(yīng)用中,一個指向某聯(lián)系人的URI可能為:
xmlns:android="http://schemas.android.com/apk/res/android" - package="com.android.notepad
- ">
android:icon="@drawable/app_notes" - android:label="@string/app_name">
class=".NotePadProvider" - android:authorities="com.google.provider.NotePad
- " />
class=".NotesList" android:label="@string/title_notes_list"> android:value="android.intent.action.MAIN" /> android:value="android.intent.category.LAUNCHER" /> android:value="android.intent.action.VIEW" /> android:value="android.intent.action.EDIT" /> android:value="android.intent.action.PICK" /> android:value="android.intent.category.DEFAULT" /> android:value="vnd.android.cursor.dir/vnd.google.note - " />
Android應(yīng)用,被執(zhí)行動作的附加信息。例如 LAUNCHER_CATEGORY 表示Intent 的接受者應(yīng)該在Launcher中作為***應(yīng)用出現(xiàn);而ALTERNATIVE_CATEGORY表示當(dāng)前的Intent是一系列的可選動作中的一個,這些動作可以在同一塊數(shù)據(jù)上執(zhí)行。
type(數(shù)據(jù)類型),顯式指定Intent的數(shù)據(jù)類型(MIME)。一般Intent的數(shù)據(jù)類型能夠根據(jù)數(shù)據(jù)本身進行判定,但是通過設(shè)置這個屬性,可以強制采用顯式指定的類型而不再進行推導(dǎo)。
component(組件),指定Intent的的目標(biāo)組件的類名稱。通常 Android會根據(jù)Intent 中包含的其它屬性的信息,比如action、data/type、category進行查找。最終找到一個與之匹配的目標(biāo)組件。但是,如果 component這個屬性有指定的話,將直接使用它指定的組件,而不再執(zhí)行上述查找過程。指定了這個屬性以后,Intent的其它所有屬性都是可選的。
【編輯推薦】
- Android應(yīng)用程序組建原理深入剖析
- Android SMS短信服務(wù)相關(guān)概念簡述
- PythonAndroid數(shù)據(jù)庫相關(guān)代碼解讀
- PythonAndroid安裝卸載程序具體操作方法解析
- Android應(yīng)用程序的四個關(guān)鍵點
網(wǎng)站欄目:深度剖析Android應(yīng)用領(lǐng)域說明
當(dāng)前路徑:http://fisionsoft.com.cn/article/dphhejj.html


咨詢
建站咨詢
