有關Android手機軟件詳細分析
自從谷歌推出的Android手機軟件平臺后,使手機軟件的標準化、低價化等議題受到比過往更高的關注,到底Android是否有能力打破多年以來的手機軟件門戶之見,僅供大家學習思考。
Google發(fā)表名為Android的軟件平臺,破除發(fā)表前的臆測,認為Google會以gPhone之名發(fā)表自有手機,同時所有信息、網(wǎng)絡產(chǎn)業(yè)者都高度關注,Android發(fā)表后將會對手機市場興起新的波瀾。
有關Android手機軟件的用意及策略已有太多人觀察與分析,Android期望手機軟件架構能標準化、低價化,如此有助于推行Google的軟件及網(wǎng)絡服務。所以,本文就不再對策略及影響等做討論,完全就技術本質的角度來了解Android。
嚴格來說,Android屬于信息技術(Information Technology;IT)領域,而且是IT領域中的軟件技術、軟件工程,與電子工程(EE)有段距離,不過手機在硬件設計之外也無法回避軟件方面的設計,因此仍有必要對其進行研究、探析。
Android本身是一套軟件堆疊(Software Stack),或稱為「軟件疊層架構」,疊層主要分成三層:操作系統(tǒng)、中介軟件(Middleware,中國內(nèi)地方面稱為:中間件)、應用程序。若更進一步了解,操作系統(tǒng)用的是嵌入式Linux,應用程序方面則只提供主要常用的幾種應用程序,不可能各形各色的應用程序都以Android之名進行開發(fā)。
否則就失去「以開放性的軟件平臺吸引廣大軟件業(yè)者、程序設計師開發(fā)出支持Android平臺的應用程序」的用意。而想開發(fā)可在Android平臺執(zhí)行的應用程序,也必須用Java程序語言撰寫才行。
接著是中介Android手機軟件,凡是介于操作系統(tǒng)與應用程序間的,多概稱為中介軟件,Android的中介軟件可再細分出兩層,底層為函式庫(Library)及虛擬機器(Virtual Machine;VM),上層為應用程序框架(Application Framework)。
特點:
架構是骨,而展現(xiàn)出來的功效特點則為血肉,Android雖然才剛起步,但已經(jīng)具有如下的功效特點,未來隨著發(fā)展則會增入更多的特點:
◆應用程序框架-框架內(nèi)已經(jīng)具備多種基礎軟件組件,應用程序可直接呼用這些組件的功效服務,節(jié)省應用程序的開發(fā)心力及時間,同時程序的再用性、移植性也較高。
◆Dalvik虛擬機器-Android內(nèi)不是使用標準的Java虛擬機器(Java Virtual Machine;JVM),而是使用獨特的Dalvik虛擬機器,關于此以下將再進行深入的說明。
◆整合(網(wǎng)頁)瀏覽器-網(wǎng)頁瀏覽器就是所謂的「主要、常用的應用程序」,Android內(nèi)建的瀏覽器是用WebKit的瀏覽引擎為基礎所開發(fā)成的,WebKit是一個開放原碼專案,許多瀏覽器也都是用WebKit引擎所開發(fā)成,如Apple的Safari、Nokia S60手機內(nèi)的瀏覽器(Web Browser for S60)等。
◆最佳化的繪圖能力-繪圖分為2D與3D,2D方面Android是用一套特有的函式庫,而3D則是使用OpenGL ES 1.0(OpenGL for Embedded Systems)規(guī)范的函式庫。
◆SQLite資料庫-SQLite是一套開放原碼的關連式資料庫,其特點在于輕量性(僅500KB左右的容量),適合手持式裝置運用,此外桌上型運算的應用程序也有使用,如OpenOffice.org 2.0版之后就有內(nèi)建SQLite。
◆媒體支持能力-Android支持多種音訊、靜態(tài)視訊、動態(tài)視訊格式,如MPEG-4、H.264、MP3、AAC、AMR、JPG、PNG、GIF等。
◆GSM通話能力-GSM手機的通話能力其實必須在硬件電路層次實現(xiàn),軟件層次無法實現(xiàn),只是Android平臺要求必須要有GSM通話能力,此項功效特點與其說是特點,不如說是訂立出最低的硬件要求規(guī)范。
◆藍牙(Bluetooth)、EDGE、3G、以及Wi-Fi-這些通訊能力一樣屬于硬件層次的功效要求。
◆攝影機(Camera)、GPS定位、羅盤、加速度傳感器-這些同樣屬于硬件層次的功效,Android主要是在軟件層面提供支持,如硬件抽象層、應用程序界面等。
◆豐富的開發(fā)環(huán)境-Android平臺強調已備有完善的程序開發(fā)環(huán)境,其開發(fā)環(huán)境包括裝置模擬器(Emulator)、除錯工具、程序執(zhí)行所耗用存儲器、效能等評估功能,另還有一個可用于Eclipse IDE的外掛程序(Plug-in)。
【編輯推薦】