應用程式組件是Android應用程式的基本構建塊。 這些組件通過應用程式清單檔AndroidManifest.xml
鬆散耦合,該檔描述應用程式的每個組件以及它們如何交互。
在Android應用程式中可以使用以下四個主要組件:
編號 | 組件 | 描述 |
---|---|---|
1 | Activities |
它們決定了用戶介面和處理用戶交互的智能手機螢幕。 |
2 | Services |
它們處理與應用程式相關的後臺處理。 |
3 | Broadcast Receivers |
它們處理Android OS和應用程式之間的通信。 |
4 | Content Providers |
它們處理數據和數據庫管理問題。 |
Activities
Activity
用一個用戶介面表示一個螢幕,簡而言之 Activity
在螢幕上執行操作。 例如,一個電子郵件應用程式可能有一個Activity
,顯示新電子郵件列表,另一個Activity
組成一封電子郵件,另一個Activity
閱讀電子郵件。 如果應用程式具有多個Activity
,則應將其中一個標記為應用程式啟動時顯示的Activity
。
一個Activity
作為Activity
類的一個子類實現如下 -
public class MainActivity extends Activity {
}
Services
服務(Service
)是在後臺運行的組件,用於執行長時間運行的操作。 例如,Service
可能在用戶處於不同的應用程式時在後臺播放音樂,或者可能通過網路獲取數據而不阻止用戶與Activity
交互。
Service
是作為Service
類的子類實現的,如下所示 -
public class MyService extends Service {
}
廣播接收器(Broadcast Receivers)
廣播接收器僅回應來自其他應用程式或系統的廣播消息。 例如,應用程式也可以啟動廣播,讓其他應用程式知道某些數據已經下載到設備中,並可供其使用,因此這是廣播接收方將攔截此通信並將啟動適當的操作。
廣播接收器作為BroadcastReceiver
類的子類實現,每個消息作為Intent
對象廣播。
public class MyReceiver extends BroadcastReceiver {
public void onReceive(context,intent){}
}
內容提供者(Content Providers)
內容提供者組件根據請求向一個應用程式提供數據。 這些請求由ContentResolver
類的方法處理。 數據可以存儲在檔系統,資料庫或其他地方。
內容提供者被實現為ContentProvider
類的子類,並且必須實現一組標準的API,使其他應用程式能夠執行事務。
public class MyContentProvider extends ContentProvider {
public void onCreate(){}
}
我們將詳細介紹這些標籤,同時覆蓋各個章節中的應用組件。
其他組件
在構建上述實體時,還會使用其他組件,它們的邏輯和它們之間的連線。 這些組件是 -
編號 | 組件 | 描述 |
---|---|---|
1 | Fragments |
表示Activity 中的用戶介面的一部分。 |
2 | Views |
在螢幕上繪製的UI元素,包括按鈕,列表形式等 |
3 | Layouts |
查看控制螢幕格式和視圖外觀的層次結構。 |
4 | Intents |
消息連接組件在一起。 |
5 | Resources |
外部元素,如字串,常量和可繪製圖片。 |
6 | Manifest |
應用程式的配置檔。 |