星期六, 8月 20, 2011

Android架構

今天跟大家分享自學的Android架構的知識筆記
以下是從官網節錄下來的架構圖
Android架構分成Application、Application Framwork、Libraries、Android Runtime、Linux Kernel。


看完架構圖之後,現在就依照各部分簡單說明。

Application:
應用層簡單說明就是我們在手機裝置或移動裝置上使用到的所有應用程式與其他功能,包括email client、SMS program、日曆、地圖、瀏覽器、聯絡人等等,都是屬於應用層。所有的應用程式皆由Java程式語言撰寫。
Application Framework:
應用架構層簡單說明是提供應用程式開發員開放開發平台,開發員可以自由使用裝置硬體、存取本地資訊、運行背景服務、設定鬧鐘、增加狀態列等等的優點。所有應用程式底層由幾個服務與系統組成,包括View、Content providers、Resourse manager、Notification manager、Acticity manager。View中包含豐富建立應用程式畫面的元件,如按鈕、lists、grids、甚至可嵌入的網頁瀏覽器;Content provider使應用程式能夠存取來自其他應用程式的資料,或者分享自己的資料給其他應用程式;Resourse manager提供存取非代碼的資源,如本地化的字串、圖片、layout files;Notification manager使所有應用程式能夠在狀態列上顯示一些自定義的警報訊息;、Acticity manager管理應用程式的生命週期。
Libraries:
Libraries是一組C/C++函式庫,這些函式庫被android系統各個元件使用,而這些元件功能通過android framework給應用程式開發者加以使用。一些核心函式庫包括System C library、Media libraries、Surface manager、LibWebCore、SGL、3D libraries、FreeType、SOLite。Media libraries基於PacketVideo的OpenCORE,函式庫支持播放和錄音許多影音格式,包含MPEG4、H.264、MP3、AAC、JPG和PNG;SGL為2D圖形引擎;3D libraries執行基於OpenGL ES 1.0 APIs;SOLite功能強大的關聯式資料庫。
Android Runtime:
每一個Android的應用程式運行在自己的Dalvik虛擬機器及執行緒中。
Linux:
android底層是Linux 2.6版本為核心系統。

認識android架構後,對於開發者有甚麼好處呢?個人是覺得如果是想開發應用程式的話,一定要把application與application framework摸熟,因為應用程式只要使用這兩層完成的;如果是想開發嵌入式程式就要多多把更底層的libraries和android runtime等摸熟了,自己也剛開始學習android,歡迎大家指教囉。

以上就是android架構的簡單介紹,希望讀者能對android架構有初步認識,其中如有錯誤還請各位指教,感謝閱讀。

沒有留言:

張貼留言