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