Android SDK Android SDK 提供了在 Window/Linux/Mac 等平臺上開發 Android 應用程式的相應的開發組件。它含有在 Android 平臺上開發應用程式的工具集。 總體架構 Android 最底層基於 Linux 2.6 內核實現,負責硬體驅動、網路管理、電源 ...
Android SDK
Android SDK 提供了在 Window/Linux/Mac 等平臺上開發 Android 應用程式的相應的開發組件。它含有在 Android 平臺上開發應用程式的工具集。
-
總體架構
- Android 最底層基於 Linux 2.6 內核實現,負責硬體驅動、網路管理、電源管理、系統安全、記憶體管理等
- Android 的第二層由大多數開源的函數庫組成,在這一層中的 Android Runtime 提供了 Android 特有的 Java 內核庫
- Surface Manager : 支持顯示子系統的訪問,提供應用與 2D 、3D 圖像層的平滑連接
- Media Framework : 實現音視頻的播放和錄製功能
- SQLite : 輕量級的關係資料庫引擎
- OpenGL ES : 基於 3D 圖像加速
- FreeType : 點陣圖與矢量字體渲染
- WebKit : Web瀏覽器引擎
- SGL : 2D 圖像引擎
- SSL : 數據加密與安全運輸的函數庫
- Libc : 標準 C 運行庫、Linux 系統中底層應用開發程式介面
- Android Runtime
- Core lib : 提供 Android 系統特有函數功能和 Java 語言函數功能
- Dalvik VM : 用於運行 Android 程式
- Android 的第三層是應用程式架構,它為應用程式層的開發者提供了用於軟體開發的 API
- Activity Manager:管理應用程式的生命周期
- Windows Manager:啟動應用程式的窗體
- Content Provider:共用私有數據,實現跨進程的數據訪問
- Package Manager:管理安裝在Android系統內的應用程式
- Teleghony Manager:管理與撥打和接聽電話的相關功能
- Resource Manager:允許應用程式使用非代碼資源
- Location Manager:管理與地圖相關的服務功能
- Notification Manager:允許應用程式在狀態欄中顯示提示信息
- View System:View是用戶界面控制項的基礎
- Android 的第四層是應用程式層,Android 本身已經提供了一些簡單的應用,如主屏幕、聯繫人、電話等應用。開發者也可以使用 Android 提供的 API 開發自己的程式
-
簡單的 Android 應用程式組成
- Activity
相當於 Windows 應用程式的對話框或視窗或應用程式的 Web 頁面視窗 - Content Provider
提供應用程式使用的數據存儲 - Service
和 Activity 獨立的可以保持後臺運行的服 - Intent
運行時綁定的機制,用來描述一個程式想要做什麼事情、從一個 Activity 跳到另一個 Activity 等
- Activity
Dalvik 虛擬機
眾所周知,Java 程式運行時需要 JRE 運行環境,Android 也有自己的 Dalvik 虛擬機。Dalvik 虛擬機針對手機的實際情況進行優化,並且和普通 Java 虛擬機不同的是,Dalvik 支持運行的文件格式是特殊的,它需要將普通 Java 的 Class 文件用 Android SDK 中的 dx 工具轉換為 .dex 格式的文件(這些轉換對開發者而言是透明的,編程人員無需分神關註)。
虛擬模擬器 AVD
在設置好集成環境之後,就可以編寫 Android 應用程式了。可以先在虛擬手機上模擬而不必真正放到手機上運行。但模擬器 AVD 畢竟不是真實的手機,有些真實手機的功能並不具備。