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