本文內容根據個人自學整理記錄,理解不當之處,希望大家批評指正,大家相互學習,寫學習歸納,寫博客是個好習慣,希望能夠堅持下去。 在前一篇文章當中介紹了 Android 的系統框架,主要是為了讓大家對Android 系統的內部層次結構有個清晰的認識,是開發 Android 程式開發的基礎。對 Andro ...
本文內容根據個人自學整理記錄,理解不當之處,希望大家批評指正,大家相互學習,寫學習歸納,寫博客是個好習慣,希望能夠堅持下去。
在前一篇文章當中介紹了 Android 的系統框架,主要是為了讓大家對Android 系統的內部層次結構有個清晰的認識,是開發 Android 程式開發的基礎。對 Android 系統結構瞭解之後,要開發一個安卓應用程式需要哪些東西呢,這篇文章主要就是介紹 Android 程式開發的基本組件系統。
Android 應用框架的核心:
由於 Android 應用也是採用 MVC 理念來開發的,所以有必要瞭解下各個分工模塊,Android 應用框架包含四個核心要素:
活動 (Activity) :是程式的交互與執行單元,主要起到對界面的控製作用,可以理解為(Controller 的部分) ,管理著視圖的生命周期。
意圖 (Intent) :是構建鬆散耦合的基礎,支持從一個頁面跳轉到另一個頁面。
視圖(View) :呈現給用戶的界面,展示各種信息,各項操作,背後的邏輯,執行交給控制器。
任務(Task) :跨越多個應用的一組活動。任務的概念比較抽象,因為我們平時基本不會直接接觸到,它不同於傳統程式中的一個功能模塊就是一項任務(概念上有類似的地方,也有區別,要多加深理解) 。
下麵舉個例加深理解 圖. 1
當我們點開手機界面上的一個 APP,系統即創建一項任務(Task) ,開啟一項活動(Activity) ,並打開一個界面(View) ,意圖(Intent)負責實現從圖 1 左邊的界面跳轉到右邊的界面的功能,當該應用需要給用戶發送提示簡訊(或在通知欄推送新內容,再或者打開一起其他已安裝的 APP) ,這個過程就是任務(Task)的功能,它聯繫了多個活動/應用,會創建多個獨立的進程和堆。
關於多任務的執行過程:
按下“下一個界面”Button 時,執行向右的箭頭操作;按下返回鍵,執行向左的箭頭操作。
單任務執行流程的堆棧變化:
左側:從下往上,依次添加到堆棧 右側:從上往下,依次退出堆棧
多任務執行流程的堆棧變化:
左側:從下往上,依次添加到堆棧 右側:從上往下,依次退出堆棧
此外,還要瞭解的是 Activity 的 langchMode,將在後面介紹。
Android 系統的四大組件 :
通常認為 Android 系統應用框架包含四大組件:活動(Activity) 、服務(Service) 、廣播接收器(Broadcast Receiver) 、內容提供者(Content Provider) 。 它們遵循統一的標準, 各個組件實現滿足其功能的各種標準介面;各自完成其特殊的功能;可單獨使用,也聯合部署,實現某種需求。
下麵來簡要介紹各個組件的功能:
1. 活動(Activity) :完成與用戶的交互任務,執行界面的用戶操作行為。在新建的 Activity 類要繼承系統的 Activity 類,維護、管理著 View 控制項,並實現對活動生命周期的管理功能。
Activity 生命周期管理 圖. 2
2. 服務(Service) :負責為後臺執行的任務提供支持,並負責管理其生命周期。
Service 生命周期管理 圖. 3
不能認為服務是一個獨立的進程或線程,它和應用程式的進程之間是不等同的關係,它們之間有很複雜的聯繫,在 Service 中要執行耗時的操作時,應開啟一個新的線程並使用消息協處理其 Handler 來處理。
3. 廣播接收器(Broadcast Receiver) :用於接收其他應用發出的廣播,增強 Android 系統的交互性。
4. 內容提供者(Content Provider) :系統中各個應用的數據共用的紐帶,通過它可以實現應用之間數據的互操作。它提供了四種常用的數據操作: Insert (插入) 、 Query (查詢) 、 Update (更新) 、 Delete(刪除) 。
總結:
關於以上四種組件,文章只是介紹了它們的基本功能和相關概念,不是很全面, 難免有疏漏和錯誤之處,它們詳細的內容還需要在實際編程的過程慢慢體會和學習。在實際應用當中,通常會綜合使用各項組件,使應用功能齊全,因此掌握好每種組件是非常重要的,希望上面的介紹對家學習有所幫助。Android 的應用框架是十分複雜的, 對於初學者而言, 可能會感到概念多,關係亂,本文帶你從最基本的框架組件入手學習,理清各自的功能。