Android學習筆記(一)Android應用程序的組成部分


  Android應用程序由松散耦合的組件組成,並使用應用程序Manifest綁定到一起;應用程序Manifest描述了每一組件和它們之間的交互方式,還用於指定應用程序元數據、其硬件和平台要求、外部庫以及必需的權限。

一、應用程序的基本結構模塊

  · Activity:應用程序的表示層。每個UI都是通過Activity類的一個或多個擴展實現的。Activity使用Fragment和視圖來布局和顯示信息,以及響應用戶動作。

  · Service:應用程序中不可見的工作者。運行時沒有UI,可以更新數據源和Activity、觸發通知和廣播Intent。可以用來執行一個運行時間長的任務,或者不需要和用戶交互的任務。

  · Content Provider:可共享的持久數據存儲器(內容提供者)。用來管理和持久化應用程序數據,通常會與SQL數據庫交互。可以通過配置自己的Content Provider來允許其他應用程序訪問,也可以訪問其他應用。

  · Intent:消息傳遞框架。Android中大量使用了Intent、Service或者Broadcast Receiver廣播消息,以及請求對特定的一條數據執行操作。

  · Broadcast Receiver: Intent偵聽器(廣播接收者)。可以監聽到那些匹配指定的過濾標准的Intent廣播。它會自動地啟動應用程序來響應某個接收到Intent。

  · Widget:可視化應用程序組件。它是Broadcast Receiver的特殊變體,可用於創建動態的交互式應用程序組件,用戶可以把這些組件添加到他們的主屏幕上。

  · Notification:它允許向用戶發送信號,但卻不會過分吸引他們的注意力或者打斷他們當前的Activity。它們是應用程序不可見或者不活動時吸引用戶注意的首選方法。

二、Manifest文件簡介

  每一個Android項目都包含一個Manifest文件——Android Manifest.xml,它存儲在項目層次中的最底層。Manifest可以定義用用程序及其組件和需求的結構和元數據。

  Manifest包含了組成應用程序的每一個Activity、Service、Content Provider和Broadcast Receiver的節點,並使用Intent Filter和權限來確定這些組件和其他應用程序是如何交互的。此文件還可以指定應用程序的元數據(圖標、版本號、主題等等) 以及額外的頂層節點,這些節點可以指定必需的安全權限和單元測試,以及定義硬件、屏幕和平台支持要求。

  Manifest文件有一個根manifest標簽構成,該標簽帶有一個被設為項目包的package屬性。它通常包含一個xmls:android屬性來提供文件內使用的某些系統屬性。

  使用versionCode屬性可講當前的應用版本定義為一個整數,每次版本更新,這個數字都會增加。使用versionName可以定義一個顯示給用戶的公共版本號。

  installLocation屬性,是制定是否允許將程序安裝到SD卡上,其值有preferExternal(首選外部存儲器)和auto(系統決定)。不指定時,默認按到內部存儲器中。由於取出或拒絕外部存儲器存在的問題,以下程序不適合安裝到外部存儲器及其后果:

  · 具有Widget/Live Wallpaper和Live Folder的應用程序: Widget/Live Wallpaper和Live Folder將從主屏幕上移除,而且重啟系統后可能不在可用。

  · 提供不中斷服務的應用程序:程序和它運行的服務將被停止,並且不會自動重啟。

  · 輸入法引擎:安裝到外部存儲器的任何IME都會被禁用。在外部存儲器再次可用后,用戶必須重新選擇IME。

  · 設備管理器:DeviceAdminReceiver及其管理能力將被禁用。

本篇博文先大體介紹應用程序的組成部分和Manifest文件,下一篇博文將對Manifest展開詳述。

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM