什麼是Android

Android是一個包含作業系統、中介程式與關鍵應用程式的行動裝置軟體積木,初期的Android SDK提供必要的API(應用程式開發介面)與工具以使用Java語言開發在Android平台上開發應用軟體。
功能





功能




  • 應用程式框架 可以重用或置換元件

  • Dalvik虛擬機器 行動裝置最佳化

  • 整合瀏覽器 基於開放原始碼Webkit引擎

  • 最佳化圖形 加強自訂2D圖形;3D圖形則築基於OpenGL ES 1.0規格(硬體加速選項)

  • SQLite 結構化資料儲存

  • 媒體支援 H.264, MP3, AAC, AMR, JPG, PNG, GIF)

  • GSM通訊 (硬體相關)

  • 藍芽, EDGE, 3G跟WiFi (硬體相關)

  • 照相機, 全球定位系統, 指南針跟加速計 (硬體相關)

  • 多元的開發環境 包含模擬器、除錯工具、記憶體與效率剖析與Eclipse IDE的外掛

Android架構


以下圖形顯示Android作業系統主要的元件,各個部分在後面解說。


http://code.google.com/android/images/system-architecture.jpg

應用程式



Android附有一系列以Java語言撰寫的核心應用程式,包含郵件程式、簡訊程式、日曆、地圖、瀏覽器、聯絡人與其它應用程式

應用程式框架



開發者可以完整使用與核心應用程式相同的API,應用程式框架為簡化元件重用而設計;應用程式可以發佈功能並為其它應用程式所使用(受限於應用程式框架的安全限制),使用者用同樣的機制用來置換元件。
應用程式底層是一組系統與服務,包含:



  • 豐富且延伸自View用以建立應用程式,包含lists, grids, text boxes, buttons, 甚至是嵌入式的瀏覽器。

  • Content Providers使應用程式可以存取或分享資料給其它應用程式(如聯絡人)。

  • Resource Manager提供存取非程式碼資源如本地化字串、圖形或布局檔案

  • Notification Manager讓應用程式得以在狀態列顯示自訂的警示。

  • Activity Manager管理應用程式生命週期並提供一般性的回溯導航(navigation backstack )





更多關於應用程式細節,請參考建立一個完整的Android應用程式

函式庫



Android包含一組系統元件使用的C/C++ 函式庫,使用者透過應用程式框架使用這些功能,部分核心函式庫列示如下:



  • 系統C函式庫 引用BSD標準系統C函式庫(libc),調整為嵌入式Linux裝置。

  • 媒體函式庫 建立在PacketVideo's OpenCORE 之上;該函式庫支援聲音的播放與錄製、影片格式、與靜態影像格式,包含MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF

  • Surface Manager 管理顯示次系統存取、與來自多重程式2D與3D組合圖層的串流

  • LibWebCore 現代化的Web瀏覽器引擎

  • SGL 2D圖形底層引擎

  • 3D libraries OpenGL ES 1.0 API 實做;該函式庫使用硬體加速(視硬體提供功能)與3D軟體rasterizer最佳化

  • FreeType 圖形與向量字的繪製

  • SQLite 提供給所有應用程式使用的強大且輕量的關聯式資料庫存取引擎



Android Runtime



Android包含一組核心函式庫提供Java程式使用核心函式庫大部分的功能。
每一個Android應用程式執行於獨立的行程與獨立的Dalvik虛擬機器,Dalvik被設計成單一裝置可有效率地使用多個虛擬機器, Dalvik虛擬機器執行Dalvik執行檔(附檔名為.dex,最佳化使用記憶體的格式),虛擬機器為登記制,並執行"dx"工具編譯並轉換格式的class檔案

Linux核心



Android依靠Linux2.6版的核心系統服務如安全性、記憶體管理、行程管理、網路堆疊與趨動程式模型。該核心同樣是作為硬體與軟體積木間的抽象層 


 


http://opensource.javaworld.com.tw/wiki/1159


立你斯 發表在 痞客邦 留言(0) 人氣()