標籤:
Android 應用程式組件主要類型有:活動(Activity) 服務(Service)廣播接收者(BroadCast Receiver) 內容提供者(Content Provider) 意圖(intent) 小工具(Widget)通知(notification)
1.活動:
應用程式的展示層,我使用者展示介面。一個Activity通常展現一個可視化的使用者介面。一個應用程式可以包含一個或多個Activity。通常每個應用程式運行後都會啟動一個Activity展現出第一個介面,在當前展現給使用者的Activity中啟動一個新的Activity或調用其他應用程式的Activity,實現從一個介面跳轉到另外一個介面。
2.服務:
服務在後台運行,沒有展現出使用者介面。它們可以為前台的Activity提供資料來源更新,並觸發通知。例如,使用者處理其他事情的時候可以啟動一個Service播放背景音樂,或者啟動郵件用戶端的一個Service通過間斷性串連郵件伺服器下載新的郵件。
Service的另外一個重要的應用就是通過AIDL(Android Interface Definition Language Android介面定義語言)實現進程間的通訊。例如:在某一應用程式中,其他應用程式組件可以直接與該應用程式後台啟動並執行Service進行互動;另一方面,多個應用程式通過Service,可以在保證進程安全的前提下,實現它們之間的通訊。
3.內容提供者
內容提供者是一種應用間資料共用的機制,提供了多個應用程式共用儲存資料的方式,相當於一種跨應用程式的資料操作,一個應用程式可以允許其他應用程式通過ContentProvider對其SQL資料、映像、聲音或其他資料類型進行增、刪、改、查等操作。ContentProvider為資料進行操作提供了統一的介面,為應用程式提供了四個介面函數:insert 、update及query,content Provider屏蔽了資料操作的具體實現細節,應用程式只需要通過ContentProvider調用相應介面函數即可完成操作,這種方式大大簡化了跨應用程式的資料操作。
4.廣播接收者
廣播接收者不執行任何任務。每個Broadcast Receiver都會接收系統或應用程式產生的廣播通知,並對廣播通知做出響應。很多事情都可能導致體統廣播,例如手機所在時區發生變化、電池電量低、使用者改變系統語言設定等。應用程式同樣也可以發送廣播通知,例如通知其他應用程式某些資料已經下載完畢。
5.意圖
意圖的作用是在組件之間傳遞資訊和協調工作。Android彼此之間獨立的應用組件需要互相調用,協調工作,最終整合成一個真正的Android應用。組件之間的協調工作主要由intent完成,它起到Activity 、Content provider 、Service之間聯絡的紐帶作用。一個intent包含了一次的操作資訊,比如需要的動作,該動作相關的資料以及Android系統所需要的資訊。 Android根據此Intent提供的資訊進行描述,負責找到滿足這些資訊的組件,將intent傳遞給該組件,並完成組件的調用。因此Intent在這裡起著一個媒體中介的作用,專門提供組件互相調用的想換資訊,實現調用者與被調用這之間的聯絡。
Android應用程式組件