應(yīng)用程序組件是一個Android應(yīng)用程序的基本構(gòu)建塊。這些組件由應(yīng)用清單文件松耦合的組織。AndroidManifest.xml描述了應(yīng)用程序的每個組件,以及他們?nèi)绾谓换ァ?/p>
以下是可以在Android應(yīng)用程序中使用的四個主要組件。
組件 | 描述 |
---|---|
Activities | 描述UI,并且處理用戶與機器屏幕的交互。 |
Services | 處理與應(yīng)用程序關(guān)聯(lián)的后臺操作。 |
Broadcast Receivers | 處理Android操作系統(tǒng)和應(yīng)用程序之間的通信。 |
Content Providers | 處理數(shù)據(jù)和數(shù)據(jù)庫管理方面的問題。 |
一個活動標識一個具有用戶界面的單一屏幕。舉個例子,一個郵件應(yīng)用程序可以包含一個活動用于顯示新郵件列表,另一個活動用來編寫郵件,再一個活動來閱讀郵件。當應(yīng)用程序擁有多余一個活動,其中的一個會被標記為當應(yīng)用程序啟動的時候顯示。
一個活動是Activity類的一個子類,如下所示:
public class MainActivity extends Activity {
}
服務(wù)是運行在后臺,執(zhí)行長時間操作的組件。舉個例子,服務(wù)可以是用戶在使用不同的程序時在后臺播放音樂,或者在活動中通過網(wǎng)絡(luò)獲取數(shù)據(jù)但不阻塞用戶交互。
一個服務(wù)是Service類的子類,如下所示:
public class MyService extends Service {
}
廣播接收器簡單地響應(yīng)從其他應(yīng)用程序或者系統(tǒng)發(fā)來的廣播消息。舉個例子,應(yīng)用程序可以發(fā)起廣播來讓其他應(yīng)用程序指導(dǎo)一些數(shù)據(jù)已經(jīng)被下載到設(shè)備,并且可以供他們使用。因此廣播接收器會攔截這些通信并采取適當?shù)男袆印?/p>
廣播接收器是BroadcastReceiver類的一個子類,每個消息以Intent對象的形式來廣播。
public class MyReceiver extends BroadcastReceiver {
}
內(nèi)容提供者組件通過請求從一個應(yīng)用程序到另一個應(yīng)用程序提供數(shù)據(jù)。這些請求由ContentResolver類的方法來處理。這些數(shù)據(jù)可以是存儲在文件系統(tǒng)、數(shù)據(jù)庫或者其他其他地方。
內(nèi)容提供者是ContentProvider類的子類,并實現(xiàn)一套標準的API,以便其他應(yīng)用程序來執(zhí)行事務(wù)。
public class MyContentProvider extends ContentProvider {
}
我們將在獨立的章節(jié)中通過這些標簽的細節(jié)來涵蓋應(yīng)用程序組件。
有一些附件的組件用于以上提到的實體、他們之間邏輯、及他們之間連線的構(gòu)造。這些組件如下:
組件 | 描述 |
---|---|
Fragments | 代表活動中的一個行為或者一部分用戶界面。 |
Views | 繪制在屏幕上的UI元素,包括按鈕,列表等。 |
Layouts | 控制屏幕格式,展示視圖外觀的View的繼承。 |
Intents | 組件間的消息連線。 |
Resources | 外部元素,例如字符串資源、常量資源及圖片資源等。 |
Manifest | 應(yīng)用程序的配置文件。 |
更多建議: