Android四大元件詳解

2021-09-29 05:28:46 字數 1863 閱讀 5554

android四大元件分別為activity、service、content provider、broadcast receiver。

(1)乙個activity通常就是乙個單獨的螢幕。

(2)activity之間通過intent進行通訊。

(3)android應用中每乙個activity都必須要在androidmanifest.xml配置檔案中宣告,否則系統將不識別也不執行該activity。

(1)service用於在後台完成使用者指定的操作。service分為兩種:

(a)started(啟動):當應用程式元件呼叫startservice()方法啟動服務時,服務處於started狀態。

(b)bound(繫結):當應用程式元件呼叫bindservice()方法繫結到服務時,服務處於bound狀態。

(2)startservice()與bindservice()區別:

(a)started service(啟動服務)是由其他元件呼叫startservice()方法啟動的,這導致服務的onstartcommand()方法被呼叫。當服務是started狀態時,其生命週期與啟動它的元件無關,並且可以在後台無限期執行,即使啟動服務的元件已經被銷毀。因此,服務需要在完成任務後呼叫stopself()方法停止,或者由其他元件呼叫stopservice()方法停止。

(b)使用bindservice()方法啟用服務,呼叫者與服務繫結在了一起,呼叫者一旦退出,服務也就終止,大有「不求同時生,必須同時死」的特點。

(3)開發人員需要在應用程式配置檔案中宣告全部的service,使用標籤。

(4)service通常位於後台執行,它一般不需要與使用者互動,因此service元件沒有圖形使用者介面。service元件需要繼承service基類。service元件通常用於為其他元件提供後台服務或監控其他元件的執行狀態。

(1)android平台提供了content provider使乙個應用程式的指定資料集提供給其他應用程式。其他應用可以通過contentresolver類從該內容提供者中獲取或存入資料。

(2)只有需要在多個應用程式間共享資料是才需要內容提供者。例如,通訊錄資料被多個應用程式使用,且必須儲存在乙個內容提供者中。它的好處是統一資料訪問方式。

(3)contentprovider實現資料共享。contentprovider用於儲存和獲取資料,並使其對所有應用程式可見。這是不同應用程式間共享資料的唯一方式,因為android沒有提供所有應用共同訪問的公共儲存區。

(4)開發人員不會直接使用contentprovider類的物件,大多數是通過contentresolver物件實現對contentprovider的操作。

(5)contentprovider使用uri來唯一標識其資料集,這裡的uri以content://作為字首,表示該資料由contentprovider來管理。

(2)廣播接收者的註冊有兩種方法,分別是程式動態註冊和androidmanifest檔案中進行靜態註冊。

(4)android還有一套本地廣播機制,就是為了解決廣播的安全問題,因為系統全域性廣播可以被其他任何程式接收到,一些攜帶關鍵性資料的廣播就可能被其他應用程式截獲。而本地廣播機制發出的廣播只能在應用程式的內部進行傳遞,並且只能接收來自本應用程式的廣播,這樣就不存在安全問題了。

intent是android系統用來抽象描述要執行的乙個操作,也可以在不同元件之間進行溝通和訊息傳遞。

顯式的intent就是你已經知道要啟動的元件名稱,比如某個activity的包名和類名,在intent中明確的指定了這個元件(activity),一般來說這種intent經常用在乙個應用中,因為你已經明確的知道要啟動的元件名稱。

隱式的intent就是你不知道要啟動的元件名稱,只知道乙個intent動作要執行,比如:拍照,錄影,檢視地圖。一般來說這種intent用在不同的應用之間傳遞資訊。

android 四大元件

1.activity 2.service 3.contentprovider 應用中的資料,對外進行共享,其它應用可以通過內容提供者,可以訪問到你應用中的資料,對資料進行增刪改查 1 對不同的資料格式,統一了檔案格式和資料訪問api 2 內容提供者要繼承contentprovider類 3 在清單檔...

Android 四大元件

activity intent receiver service content provider 並不是每乙個android應用程式都需要這四種構造塊,這不是必須的。當我們明確了我們的應用需要哪些構造塊後,我們就需要在androidmanifest.xml中登記這些構造塊的清單。這個配置檔案用於定...

android四大元件

android 四大元件 1.contentprovider contentprovider是什麼 android中的乙個應用元件 作為乙個引用元件的表現是生命週期方法 android中內容提供者 一般是內部儲存中的資料 contentprovider 物件的應用場合 例如 3.contentpri...