《Android Dev Guide》系列教程1:什麼是Android?

來源:互聯網
上載者:User

Android是一個行動裝置的軟體集,他包括一個作業系統、中介軟體,和一些重要的應用程式。AndroidSDK提供了Android開發平台的必要的工具和APIs,他使用Java程式設計語言。

 

特點:

 

應用程式架構:支援組件的重用和替換。

Dalvik虛擬機器:轉為行動裝置最佳化的虛擬機器。

整合的瀏覽器:基於開源瀏覽器WebKit引擎。

最佳化的圖形影像處理:採用定製的2D圖形庫,基於OpenGL ES1.0規範,可選的硬體加速。

SQLite:結構化的資料存放區。

媒體支援:支援廠家愛呢的音頻視頻,如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF。

GSM技術:硬體依賴。

藍芽、EDGE網路、3G、WIFI:硬體依賴。

拍照、導航、指南針、加速度計:硬體依賴。

豐富的開發環境:包括一個虛擬器、調試工具、記憶體和效能分析、Eclipse外掛程式。

 

 

Android 系統結構:

 

下面那張圖表顯示了Android作業系統的主要組件,每一部分將會詳細講解

 

 

應用程式

 

Android 將會有一些核心的應用,比如郵件用戶端、SMS程式、計算機、地圖、瀏覽器、連絡人等等。所有的應用程式都用Java語言開發。

 

應用程式層

 

通過提供一個開源的平台,Android可以讓開發人員自由的開發豐富、創新的應用程式。開發人員可以免費利用裝置的硬體,訪問本地資訊、啟動後台服務、設定鬧鈴、給狀態列增加提醒功能,等等灰常多的應用。

 

開發人員通過核心應用程式,可以完全訪問同一架構的APIs。(?)[開發人員對於架構APIs的訪問有與核心程式同樣的許可權(樓下whyou指正,表示感謝)]。結構化的應用程式框架為了提高組件的客服用性而設計。任何程式都可以公布他的功能讓其他程式來調用(在架構許可的前提下)。相同的機制允許使用者替換掉某些功能。

 

和所有程式相關的是一些服務和系統,包括:

 

一些豐富的可擴充視圖:可以用來構造應用程式,包括列表、表格、輸入框、按鈕、可以寫內建的瀏覽器。

內容提供:可以讓程式訪問其他程式的資料,例如連絡人清單,或者共用自己的資料。

資源管理員:提供訪問非代碼的資源的方法,例如本地化的一些字串、映像、布局檔案。

一個提示管理器:可以讓程式在狀態列顯示自訂的提示資訊。

一個Activity管理器:管理activity的生命週期並且提供一個公用的導航功能。

 

更多詳細資料可以通過一個例子來學習:參考 Noteoad Tutorial。

 

 

Libraries:

 

Android包含了一些系統各個部分使用到的C/C++庫,通過Android應用程式程式架構,這些功能對於開發人員來說是公開的,部分核心庫如下:

 

系統C庫:一個繼承自BSD的標準C系統庫,專門為了嵌入式Linux設為。

多媒體庫:基於 PacketVideo's OpenCORE庫,支援播放和錄製一些主流的音頻視頻格式,像靜態圖片檔案,包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG格式。

Surface Manager(圖形管理器):管理顯示子系統,在多個應用程式裡無縫綜合2D和3D圖層。

LibWebCore:一個流行的web瀏覽器引擎,供Android瀏覽器和內建的瀏覽view使用。

SGL:一個底層的2D映像引擎。

3D庫:基於OpenGL ES 1.0 的3D映像引擎。包括硬體加速和最佳化過的3D軟體加速。

FreeType:位元影像和向量字型的渲染(rendering)。

SQLite:一個強大的輕量級的資料庫引擎對所有程式提供使用。

 

Android 執行階段程式庫:

 

Android包含了Java語言的大部分的核心庫。

 

每一個Android應用程式運行在自己的線程裡,有自己的dalvik虛擬機器執行個體,Dalvik虛擬機器被重寫用來支援在一個行動裝置上支援多個虛擬機器。Dalvik虛擬機器執行檔案(.dex)被最佳化的記憶體佔用很小。VM是基於寄存器,並且通過Java語言編譯器運行由class檔案轉換的.dex檔案,通過內建的dx工具。

 

Dalvik虛擬機器依賴Linux核心,來管理線程和底層的記憶體管理。

 

Linux kernel:

 

Android 依賴Linux2.6核心作為核心系統服務,像安全、記憶體管理、進程管理、網路堆、驅動模型。Kernel扮演者一個軟硬體之間的抽象層的角色。

 

 

碼在最後:

終於磕磕絆絆的翻譯了一篇,太晦澀了,lazybone對不住各位看客。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.