什么是Android?
Android一詞的本義指“機器人”,是美國搜索引擎公司Google在2007年11月5日公布的基于Linux平臺的開(kāi)源智能手機操作系統名稱(chēng)。該平臺由操作系統、中間件和應用程序組成,號稱(chēng)是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。它采用了軟件棧(software stack)的架構,底層以L(fǎng)inux核心為基礎,只提供基本功能,其他的應用軟件則由各公司自行開(kāi)發(fā),以java作為編寫(xiě)程式的一部分。另外,為了推廣此技術(shù),Google和其它幾十個(gè)手機公司建立了開(kāi)放手機聯(lián)盟(Open Handset Alliance)。Android在未公開(kāi)之前常被傳聞為Google電話(huà)或gPhone。大多傳聞?wù)J為Google開(kāi)發(fā)的是自己的手機電話(huà)產(chǎn)品,而不是一套軟件平臺。
本文引用地址:http://dyxdggzs.com/article/114193.htm2008年9月23日,美國運營(yíng)商 T-Mobile USA在紐約正式發(fā)布第一款Google手機——T-Mobile G1。該款手機為宏達電制造,是世界上第一部使用Android操作系統的手機,支持WCDMA/HSPA網(wǎng)絡(luò ),理論下載速率7.2Mbps,并支持Wi-Fi。T-Mobile G1于10月22日正式上市發(fā)售。
Android包括操作系統、中間件和應用程序 —— 移動(dòng)電話(huà)工作所需的全部軟件,而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng )新的專(zhuān)有權障礙。谷歌與開(kāi)放手機聯(lián)盟OHA(Open Handset Alliance)合作開(kāi)發(fā)了 Android,這個(gè)聯(lián)盟由包括中國移動(dòng)、摩托羅拉、高通、宏達和 T-Mobile 在內的 30 多家技術(shù)和無(wú)線(xiàn)應用的領(lǐng)軍企業(yè)組成。通過(guò)與運營(yíng)商、設備制造商、開(kāi)發(fā)商和其他有關(guān)各方結成深層次的合作伙伴關(guān)系,Google希望借助建立標準化、開(kāi)放式的移動(dòng)電話(huà)軟件平臺,在移動(dòng)產(chǎn)業(yè)內形成一個(gè)開(kāi)放式的生態(tài)系統。
Android 作為Google企業(yè)戰略的重要組成部分,將進(jìn)一步推進(jìn)"隨時(shí)隨地為每個(gè)人提供信息"這一企業(yè)目標的實(shí)現。Google的目標是讓移動(dòng)通訊不依賴(lài)于設備甚至平臺。出于這個(gè)目的,Android將補充,而不會(huì )替代Google長(cháng)期以來(lái)奉行的移動(dòng)發(fā)展戰略:通過(guò)與全球各地的手機制造商和移動(dòng)運營(yíng)商結成合作伙伴,開(kāi)發(fā)既有用又有吸引力的移動(dòng)服務(wù),并推廣這些產(chǎn)品。
Android的一個(gè)重要特點(diǎn)就是它的應用框架和GUI庫都用Java語(yǔ)言實(shí)現。Android內部有一個(gè)叫作Dalvik的Java虛擬機,Java程序由這個(gè)虛擬機解釋運行。Android平臺的應用程序也必須用Java語(yǔ)言開(kāi)發(fā)。網(wǎng)上有評論說(shuō)Android的虛擬機使用Apache的Harmony類(lèi)庫。Harmony類(lèi)庫是Apache組織開(kāi)發(fā)的開(kāi)源 Java類(lèi)庫,用Apache許可證發(fā)布。Android應用框架采用了Mash-up的組件模型:組件(Activity) 向系統注冊自己的功能,每個(gè)組件要使用其它組件的服務(wù)時(shí)提出自己的要求(intent),系統根據intent在已登記的組件中確定合適的組件。Android平臺的API文檔很完善。
基于A(yíng)ndroid平臺開(kāi)發(fā)應用軟件應該是一件輕松、愉快的事情。但是,選擇Android平臺存在以下問(wèn)題:
Google目前只開(kāi)放了SDK,即應用軟件的開(kāi)發(fā)接口,沒(méi)有開(kāi)放中間件的源代碼。
在沒(méi)有源代碼的情況下,也可以把Android移植到兼容的開(kāi)發(fā)板(CPU核采用ARMv5指令集)上,但因為不能定制而無(wú)法將其用于實(shí)際產(chǎn)品。Google現在沒(méi)有明確什么時(shí)候發(fā)布中間件的源代碼。其實(shí)Google也沒(méi)有明確說(shuō)過(guò)將發(fā)布中間件的源代碼。Google說(shuō)Android是“the first complete, open, and free mobile platform”。在英文中“free”既可以解釋成“自由”,也可以解釋成“免費”。如何解釋完全在于Google。我覺(jué)得Google最想抓住的是 應用軟件的開(kāi)發(fā)者,即希望公司和個(gè)人都學(xué)習它的SDK,為它的平臺開(kāi)發(fā)應用軟件。Google肯定會(huì )和廠(chǎng)家合作,開(kāi)發(fā)支持Android平臺的手機。但 Google是否會(huì )在網(wǎng)絡(luò )上完全開(kāi)放中間件代碼,還是個(gè)未知數。如果Google完全開(kāi)放這個(gè)平臺,那么與J2ME類(lèi)似,各公司肯定會(huì )在這個(gè)平臺上添加自己的擴展,使各平臺不能完全兼容。所以,Google很可能用商業(yè)手段來(lái)保證Android平臺的一致性。
Android的設計很漂亮,但是否實(shí)用還有待實(shí)踐檢驗。
Android使用Java既可以利用Java的平臺無(wú)關(guān)性,又可以降低應用軟件的開(kāi)發(fā)難度。但無(wú)論怎么優(yōu)化,Java程序的速度是肯定不如原生代碼的。Google的Mash-up的思想雖然不算新穎,但在嵌入式環(huán)境中投入實(shí)用,也是一個(gè)新的嘗試。設計總有取舍,Google的選擇是否合理,還需要實(shí)踐檢驗。
評論