應用程序組件是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 |
應用程序的配置文件。 |