此技術文檔主要是從基礎了解Android系統架構,便於對以後開發形成一些基本應用架構。
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11
一.android系統架構圖及各層介紹
1. 應用層:應用是用java語言編寫的運行在虛擬機上的程序,比如Email客戶端,SMS短消息程序,日歷等。
2. 應用框架層:這一層是編寫Google發布的核心應用時所使用的API框架,開發人員同樣可以使用這些框架來開發自己的應用,這樣便簡化了程序開發的結構設計,但是必須要遵守其框架的開發原則。
3. 系統運行庫(C/C++庫以及Android運行庫)層:當使用Android應用框架時,Android系統會通過一些C/C++庫來支持我們使用的各個組件,使其更好的為我們服務,比如其中的SQLite(關系數據庫),Webkit(Web浏覽器引擎)。
4. Linux內核層:Android的核心系統服務給予Linux2.6內核,如安全性、內存管理、進程管理、網絡協議棧和驅動模型等都依賴於該內核,比如Binder IPC驅動,android的一個特殊驅動程序,具有單獨的設備節點,提供進程間通信的功能。
一.框架提供的功能
Android系統提供給應用開發者的本身就是一個框架,所有的應用開發都必須遵守這個框架的原則。我們在開發應用時就是在這個框架上進行擴展,下面是Android框架提供給我們可用的功能。
1、android.app:提供高層的程序模型和基本的運行環境。
2、 android.content:包括各種設備上的數據進行訪問和發布。
3、 android.database:通過內容提供者浏覽和操作數據庫。
4、 android.graphics:底層的圖形庫,包括畫布、顏色過濾、點、矩陣,可以將他們直接繪制到屏幕上。
5、 android.location:定位和相關服務的類。
6、 android.media:提供一些類管理多種音頻、視頻的媒體接口。
7、 android.net:提供幫助網絡訪問的類,超過通常的java.net.*。
8、 android.os:提供了系統服務、消息傳輸和IPC機制。
9、 android.opengl:提供OpenGL的工具。
10、 android.provider:提供訪問Android內容提供者的類。
11、 android.telephony:提供與撥打電話相關的API交互。
12、 android.view提供基礎的用戶界面接口框架。
13、 android.util:設計工具性的方法,例如時間日期的操作。
14、 android.webkit:默認浏覽器操作接口。
15、 android.widget:包含各種UI元素(大部分是可見的)在應用程序的布局中使用。