Android開發(fā)第一步:認識Android
譯文什么是Android?
Android是一個移動設備的軟件套件,它包括一個操作系統(tǒng)、中間件和關鍵應用。Android SDK提供必需的工具和API,并基于java語言開發(fā)。
特征
- 應用程序框架 組件的重用和自定義
- Dalvik虛擬機 為移動設備優(yōu)化
- 一體化瀏覽器 基于開源的webkit內核
- 圖形優(yōu)化 提供一個定制的2D圖形庫,3D圖形基于OpenGL(硬件加速可選)
- SQLite 結構化數據存儲
- 多媒體支持 對通用的音頻、視頻、圖像提供支持
- GSM技術 (依賴于硬件)
- 藍牙,EDGE網絡,3G和WiFi (依賴于硬件)
- 攝像頭、GPS、方向和速度傳感器 (依賴于硬件)
Android結構示意圖
自帶應用程序
Android包含一套核心應用程序,如email客戶端、SMS程序、日歷、地圖、瀏覽器、通訊錄以及其它。所有程序都是用java語言編寫。
應用程序框架
在Android平臺上,開發(fā)者可創(chuàng)建華麗而創(chuàng)新的應用。可發(fā)揮出硬件能力,利用地理位置信息、后臺服務、警告和程序欄通知,以及更多。
開發(fā)者與核心應用程序對API享用同樣權限。應用程序結構被設計成簡化組件重用,應用程序可以開放其功能供其他程序調用(在框架的安全限制內),此機制也允許用戶自定義組件。
下列服務和系統(tǒng)享有高優(yōu)先級:
- 一系列視圖(Views),包括列表、網格、文字框、按鈕、甚至是可嵌入的瀏覽器。
- 內容提供器(Content Providers),讓程序可以連接其他程序或者共享數據。
- 資源管理器(Resource Manager),提供對非代碼的資源的連接,比如局域字符串、圖像和布局文件。
- 通知管理器(Notification Manager),使程序可以展現自定義通知。
- 活動管理器(Activity Manager),管理程序生命周期并提供通用導航返回棧。
更多細節(jié)參見Notepad Tutorial。
類庫
Android包括一系列C/C++庫,這些庫被用于很多Android系統(tǒng)組件,它們也能夠通過框架被程序調用。
- 系統(tǒng)C語言庫 由BSD衍生的標準C語言系統(tǒng)庫,為基于Linux的設備所調整。
- 多媒體庫 基于PacketVideo的OpenCORE框架。支持回放、錄制等多媒體功能。
- 外觀管理器(Surface Manager) 管理訪問顯示子系統(tǒng)和從多模塊應用中無縫整合2D和3D的圖形
- LibWebCore 現代瀏覽器引擎 為瀏覽器和嵌入式視圖提供支持
- SGL 高優(yōu)先級的2D圖形引擎
- 3D類庫 OpenGL ES API的一個衍生,支持硬件加速和軟件優(yōu)化加速
- FreeType 位圖和矢量字體渲染
- SQLite 一個輕量的關系型數據庫
Android運行時
Android包括Java的一個精簡的核心類庫,可實現java的多數功能。
每個Android應用程序都有獨自的進程和虛擬機,設備可以同時運行多個Dalvik虛擬機,Dalvik虛擬機執(zhí)行后綴為.dex的文件,這種文件為最小內存占用而優(yōu)化,此虛擬機是基于寄存器的,運行被dx工具編譯為.dex文件的類。
Dalvik依賴于Linux核心,以確保一些高優(yōu)先級的功能,如線程處理和低級別內存管理。
Linux核心
Android依賴于Linux版本2.6,以提供核心系統(tǒng)服務,如安全、內存管理、進程管理、網絡棧和驅動模型。此核心也在硬件和其他程序之間提供一個抽象層。