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