Android應用程式中有四個構建塊:
Activity
Intent Receiver
Service
Content Provider
1 Activity
在應用中,一個activity通常就是一個單獨的螢幕。每一個activity都被實現為一個獨立的類,並且繼承於Activity這個基類。這個activity類將會顯示由幾個Views控制群組成的使用者介面,並對事件做出響應。
2 Intent and Intent Filters
Intent類用於描述一個應用想要做什麼事。在Intent的描述結構中,有兩個最重要的部分:動作和動作對應的資料。典型的動作類型有:MAIN(activity的主要入口)、VIEW、PICK、EDIT等。而動作對應的資料則以URI的形式進行表示。
當向前置航時,activity將會調用startActivity (Intent myIntent)方法。然後,系統會在所有安裝的應用程式中定義的IntentFilter中尋找,找到最匹配myIntent的 Intent對應的activity。新的activity接收到myIntent的通知後,開始運行。當startActivity方法被調用將觸發解析 myIntent的動作。
3 Intent Receiver
當你希望你的應用能夠對一個外部的事件做出響應,你可以使用一個Intent Receiver。Intent Receiver在AndroidManifest.xml中註冊,但也可以在代碼中使用 Context.registerReceiver()進行註冊。當一個intent receiver被觸發時,你的應用不必對請求調用intent receiver,系統會在需要的時候啟動你的應用。各種應用還可以通過使用Context.broadcastIntent()將它們自己的 intent receiver廣播給其它應用程式。
4 Service
Service是一段長生命週期的,沒有使用者介面的程式。activity會使用Context.startService()來啟動一個service,通過使用Context.bindService()方法,串連到一個service上,當串連到一個service之後,我們還可以service提供的介面與它進行通訊
5 Content Provider
應用程式能夠將它們的資料儲存到檔案中、SQL資料庫中,甚至是任何有效裝置中。一個Content Provider類實現了一組標準的方法,從而能夠讓其它的應用儲存或讀取此Content Provider處理的各種資料類型。