標籤:
Android應用程式由組件組成,組件是可以解決被調用的準系統模組。Android系統利用組件實現程式內部或程式間的模組調用,以解決代碼複用問題,這是Android系統非常重要的特性。在程式設計時,在AndroidManifest.xml中聲明可共用的組件,聲明後其他應用程式可以直接調用這些共用組件。例如程式A實現了檔案壓縮的功能,並對外共用了這個組件,程式B則不必再開發檔案壓縮功能,而直接調用程式A的共用組件即可。
Android系統有4個重要的組件,分別是Activity 、 Service、BroadcastReceiver和ContentProvider。
Activity是Android程式的呈現層,顯示可視化的使用者介面,並接收與使用者互動所產生的介面事件,與"表單"的概念非常相似。Android應用程式可以包含一個或多個Activity,一般在程式啟動後會呈現一個Activity,用於提示使用者程式已經正常啟動。Activity在介面上的表現形式一般是全屏表單,也可以是非全屏懸浮窗或對話方塊。
Service一般用於沒有使用者介面,但需要長時間在後台啟動並執行應用。例如在播放MP3音樂時,使用Service播放MP3音樂,可以在關閉播放器介面情況下長時間播放MP3音樂,並通過對外公開Service的通訊介面,控制MP3音樂播放的啟動、暫停和停止。
BroadcastReceiver是用來接受並響應廣播訊息的組件。大部分廣播訊息是有系統產生的 ,例如時區改變、電池電量低或語言選項改變等,但應用程式也可以產生廣播訊息,例如資料下載完畢等。BroadcastReceiver不包含任何使用者介面,但可以通過啟動Activity或者Notification通知使用者接收到重要訊息。Notification能夠通過多種方法提示使用者,包括閃動背景燈、震動裝置、發出聲音或在狀態列放置一個持久的表徵圖等。
ContentProvider是Android系統提供的一種標準的共用資料機制,應用程式可以通過ContentProvider訪問其它應用程式的私用資料。私用資料可以是儲存在檔案系統中的檔案,也可以是SQLite中的資料庫。Android系統內部也提供一些內建的ContentProvider,能夠為應用程式提供重要的資料資訊,例如連絡人資訊和通話記錄等。
Android系統通過組件機制,有效地降低了應用程式的耦合性,使向其他應用程式共用私用資料(ContentProvider)和調用其它程式的私人模組(Service)成為可能。
所有Android組件都具有自己的生命週期,稱為組件生命週期,是從組件建立到組件銷毀的整個過程。
Android開發之組件