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