編輯:Android開發教程
在一個Android應用中,主要是由四種組件組成的,這四種組件可參考“Android應用的構 成”。而這四種組件是獨立的,它們之間可以互相調用,協調工作,最終組成一個真正的 Android應用。
在這些組件之間的通訊中,主要是由Intent協助完成的。
Intent負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,Android則根 據此Intent的描述,負責找到對應的組件,將 Intent傳遞給調用的組件,並完成組件的調用 。
因此,Intent在這裡起著一個媒體中介的作用,專門提供組件互相調用的相關信息,實現 調用者與被調用者之間的解耦。
例如,在一個聯系人維護的應用中,當我們在一個聯系人列表屏幕(假設對應的Activity 為listActivity)上,點擊某個聯系人後,希望能夠跳出此聯系人的詳細信息屏幕(假設對應 的Activity為detailActivity)
為了實現這個目的,listActivity需要構造一個 Intent,這個Intent用於告訴系統,我 們要做“查看”動作,此動作對應的查看對象是“某聯系人”,然後調用startActivity (Intent intent),將構造的Intent傳入,系統會根據此Intent中的描述,到ManiFest中找到 滿足此Intent要求的Activity,系統會調用找到的 Activity,即為detailActivity,最終傳 入Intent,detailActivity則會根據此Intent中的描述,執行相應的操作。
一、抽象描述要描述什麼
在Android參考文檔中,對Intent的定義是執行某操作的一個抽象描述(確實很抽象)。我 們先來看看這裡的抽象描述,到底描述了什麼。
首先,是要執行的動作(action)的一個簡要描述,如VIEW_ACTION(查看)、EDIT_ACTION( 修改)等,Android為我們定義了一套標准動作:
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
此外,我們還可以根據應用的需要,定義我們自己的動作, 並可定義相應的Activity來處理我們的自定義動作。
其次,是執行動作要操作的數據(data),Android中采用指向數據的一個URI來表示,如 在聯系人應用中,一個指向某聯系人的URI可能為:content://contacts/1。
這種URI表示,通過 ContentURI這個類來描述,具體可以參考android.net.ContentURI類 的文檔。
Android 操作系統對於<intent-filter>含有下列屬性的Activity會在應用程序管理器(Launcher)顯示一項,一般這 個Activi
iPhone第一個真正意義上的競爭對手G1如期而來,正如蘋果的產品一樣,這是一個強大的掌上電腦,並且擁有一個開源的操作系統,和一個智能的指觸式用戶界面。和iPhone一樣
Android數據儲存之File文件儲存數據 一.存儲在內部還是外部? AndroidManifest.xml中manifest標簽下有一個屬性andro
Compass(羅盤)是一個定制的視圖, 繼承View類, 重寫了視圖的邊界(onMeasure)和內容(onDraw);如圖:以下是Compass的具體設計:1. 創建