Android應(yīng)用程序構(gòu)建實戰(zhàn)+原理精講
Android 應(yīng)用程序組件
應(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ù)庫管理方面的問題。
Activities
一個活動標(biāo)識一個具有用戶界面的單一屏幕。舉個例子,一個郵件應(yīng)用程序可以包含一個活動用于顯示新郵件列表,另一個活動用來編寫郵件,再一個活動來閱讀郵件。當(dāng)應(yīng)用程序擁有多于一個活動,其中的一個會被標(biāo)記為當(dāng)應(yīng)用程序啟動的時候顯示。
一個活動是Activity類的一個子類,如下所示:
public class MainActivity extends Activity {}
Services
服務(wù)是運行在后臺,執(zhí)行長時間操作的組件。舉個例子,服務(wù)可以是用戶在使用不同的程序時在后臺播放音樂,或者在活動中通過網(wǎng)絡(luò)獲取數(shù)據(jù)但不阻塞用戶交互。
一個服務(wù)是Service類的子類,如下所示:
public class MyService extends Service {}
Broadcast Receivers
廣播接收器簡單地響應(yīng)從其他應(yīng)用程序或者系統(tǒng)發(fā)來的廣播消息。舉個例子,應(yīng)用程序可以發(fā)起廣播來讓其他應(yīng)用程序知道一些數(shù)據(jù)已經(jīng)被下載到設(shè)備,并且可以供他們使用。因此廣播接收器會攔截這些通信并采取適當(dāng)?shù)男袆印?/p>
廣播接收器是BroadcastReceiver類的一個子類,每個消息以Intent對象的形式來廣播。
public class MyReceiver ?extends ?BroadcastReceiver {}
Content Providers
內(nèi)容提供者組件通過請求從一個應(yīng)用程序到另一個應(yīng)用程序提供數(shù)據(jù)。這些請求由ContentResolver類的方法來處理。這些數(shù)據(jù)可以是存儲在文件系統(tǒng)、數(shù)據(jù)庫或者其他其他地方。
內(nèi)容提供者是ContentProvider類的子類,并實現(xiàn)一套標(biāo)準(zhǔn)的API,以便其他應(yīng)用程序來執(zhí)行事務(wù)。
public class MyContentProvider extends ?ContentProvider {}