標籤:
一個Android應用程式一般是由以下4個組件構成的:
- 活動(Activity)
- 意圖(Intent)
- 服務(Service)
- 內容提供器(Content Provider)
這4個組件是構成android應用改程式的基礎,但並不是每個android應用程式都必須包含這個4個組件,除了Activity是必要組件之外,其餘組件都是可選的。
Activity
Activity是Android系統應用程式中構造塊中最基本的一種,在應用中,一個 activity通常就是一個單獨的螢幕。每一個activity都被實現為一個獨立的類,並且繼承於Activity這個基類。這個activity類將會顯示由幾個Views控制群組成的使用者介面,並對事件做出響應。大部份的應用都會包含多個的螢幕。
Intent
Intent類用於描述一個應用想做什麼。它是一種運行時綁定機制,用來串連兩個不同的組件。通過Intent,應用程式可以向Android表達某種請求或者意願,Android會根據意願的內容選擇適當的組件來響應。
與Intent相關的兩個類分別是IntentFilter和IntentReceiver。當Intent請求做某個動作時,IntentFilter用於描述一個活動或者廣播接收器能夠操作哪些Intent。IntentReceiver可使應用程式對外來事件作出響應。
Intent有兩個最重要的部分:動作和動作對應的資料。典型的動作類型有:活動的查看(View)、選取(Pick)、編輯(Edit)等,而動作對應的資料則以URI的形式進行表示。
Service
一個Service是一段長生命週期的,沒有使用者介面的程式。它在後台運行,並且可以與其進行互動。它跟Activity的層級差不多,但是需要通過一個Activity來調用。
比較好的一個例子就是一個正在從播放清單中播放歌曲的媒體播放器。在一個媒體播放器的應用中,應該會有多個activity,讓使用者可以選擇歌曲並播放歌曲。然而,音樂重放這個功能並沒有對應的activity,因為使用者當然會認為在導航到其它螢幕時音樂應該還在播放的。在這個例子中,媒體播放器這個 activity會使用Context.startService()來啟動一個service,從而可以在後台保持音樂的播放。同時,系統也將保持這個service一直執行,直到這個service運行結束。
Content Provider
Android系統應用程式能夠將它們的資料儲存到檔案中、SQL資料庫中,甚至是任何有效裝置中。Content Provider提供了一種多應用間資料共用的方式。當你想將你的應用資料與其它的應用共用時,Content Provider將會很有用。一個Content Provider類實現了一組標準的方法,從而能夠讓其它的應用儲存或讀取此Content Provider處理的各種資料類型。
Android應用程式構成