(一)Android系統框架詳解數據庫
Android採用分層的架構,分爲四層,從高層到底層分爲應用程序層,應用程序框架層,系統運行庫層和Linux核心層瀏覽器
1,Android應用程序層安全
應用是用Java語言編寫的運行在虛擬機上的程序,即圖中最上層的藍色部分,其實,Google最開始時就在Android系統中捆綁了一些核心應用,好比e-mail客戶端、SMS短消息程序、日曆、地圖、瀏覽器、聯繫人管理程序,等等。網絡
2,應用程序框架層架構
這一層便是編寫Google發佈的核心應用時所使用的API框架,開發人員一樣可使用這些框架來開發本身的應用,這樣便簡化了程序開發的架構設計,可是必須遵照其框架的開發原則,組件以下:框架
豐富而又可擴展的視圖(Views):能夠用來構建應用程序,它包括列表(lists)、網格(grids)、文本框(textboxes)、按鈕(buttons), 甚至可嵌入的Web瀏覽器。ide
內容提供器(Content Providers):它可讓一個應用訪問另外一個應用的數據(如聯繫人數據庫),或共享它們本身的數據佈局
資源管理器(Resource Manager):提供非代碼資源的訪問,如本地字符串、圖形、和佈局文件(layoutfiles)。spa
通知管理器 (Notification Manager):應用能夠在狀態欄中顯示自定義的提示信息。架構設計
活動管理器(Activity Manager):用來管理應用程序生命週期並提供經常使用的導航退回功能。
窗口管理器(Window Manager):管理全部的窗口程序。
包管理器(Package Manager):Android系統內的程序管理
在Android SDK中內置了一些對象,其中最重要的組件要屬Activities、Intents、Services以及ContentProviders四個組件。
Activities活動
一個活動就是一個用戶界面。一個應用程序能夠定義一個或多個活動,每一個活動都可以保存和恢復自身的狀態。
Intents意向
Intent是描述一個特定活動的一種機制,好比「選取照片」、「撥打電話」等這類具體動做。在Android中,全部的東西都是經過Intents完成的,所以開發者有機會替代或重用大量的組件。好比有一個「發送郵件」的intent,當你應用程序須要發送郵件時能夠激活這個intent。開發者甚至能夠從新編寫一個新的郵件應用程序,並註冊爲活動以處理這個intent代替標準的郵件應用程序。那麼其餘應用程序就可使用新編寫應用程序來發送郵件了。
Services服務
一個服務Service就是運行在後臺、沒有用戶直接交互的任務,與Unixdaemon相似。好比要作一個音樂播放器,可能會被另外一個活動激活,但音樂是須要做爲背景音樂播放,那麼這種程序就能夠考慮做爲一種服務Service。而後別的活動能夠來操做這個播放器。Android中內置了不少服務,能夠方便的使用API進行訪問。
Content Providers內容提供者
一個內容提供者contentProvider就是由自定義的API封裝讀寫操做的一套數據。ContentProvider是不一樣應用程序之間共享全局數據最好的方式。好比,Google提供了聯繫人的ContentProvider,包括姓名、地址、電話等全部信息在內的聯繫方式可以被全部應用程序使用。
3,系統運行庫層
當咱們使用Android應用框架時,Android系統會經過一些C/C++庫來支持對咱們使用的各個組件,使其能更好地爲開發者服務
4,Linux核心層
Android的核心繫統服務基於Linux2.6內核,如安全性、內存管理、進程管理、網絡協議棧和驅動模型等都依賴於Linux2.6內核。Linux內核同時也做爲硬件和軟件棧之間的抽象層