輕輕松松的學習Android組成框架
Android組成框架為Google企業戰略的重要組成部分,將進一步推進"隨時隨地為每個人提供信息"這一企業目標的實現。
Google的目標是讓移動通訊不依賴于設備甚至平臺。出于這個目的,Android將補充,而不會替代Google長期以來奉行的移動發展戰略。通過與全球各地的手機制造商和移動運營商結成合作伙伴,開發既有用又有吸引力的移動服務,并推廣這些產品。
Android組成框架的一個重要特點就是它的應用框架和GUI庫都用Java語言實現。Android內部有一個叫作Dalvik的Java虛擬機,Java程序由這個虛擬機解釋運行。Android平臺的應用程序也必須用Java語言開發。網上有評論說Android的虛擬機使用Apache的Harmony類庫。
Harmony類庫是Apache組織開發的開源 Java類庫,用Apache許可證發布。Android應用框架采用了Mash-up的組件模型:組件(Activity) 向系統注冊自己的功能。每個組件要使用其它組件的服務時提出自己的要求(intent),系統根據intent在已登記的組件中確定合適的組件。Android平臺的API文檔很完善。
基于Android平臺開發應用軟件應該是一件輕松、愉快的事情。但是,選擇Android平臺存在以下問題:
Google目前只開放了SDK。
即應用軟件的開發接口,沒有開放中間件的源代碼。在沒有源代碼的情況下,也可以把Android移植到兼容的開發板(CPU核采用ARMv5指令集)上,但因為不能定制而無法將其用于實際產品。
Google現在沒有明確什么時候發布中間件的源代碼。其實Google也沒有明確說過將發布中間件的源代碼。Google說Android是“the first complete, open, and free mobile platform”。在英文中“free”既可以解釋成“自由”,也可以解釋成“免費”。
如何解釋完全在于Google。我覺得Google最想抓住的是 應用軟件的開發者,即希望公司和個人都學習它的SDK,為它的平臺開發應用軟件。Google肯定會和廠家合作,開發支持Android平臺的手機。但 Google是否會在網絡上完全開放中間件代碼,還是個未知數。
如果Google完全開放這個平臺,那么與J2ME類似,各公司肯定會在這個平臺上添加自己的擴展,使各平臺不能完全兼容。所以,Google很可能用商業手段來保證Android平臺的一致性。Android的設計很漂亮,但是否實用還有待實踐檢驗。Android使用Java既可以利用Java的平臺無關性,又可以降低應用軟件的開發難度。
但無論怎么優化,Java程序的速度是肯定不如原生代碼的。Google的Mash-up的思想雖然不算新穎,但在嵌入式環境中投入實用,也是一個新的嘗試。設計總有取舍,Google的選擇是否合理,還需要實踐檢驗。
在沒有源代碼的情況下,也可以把Android移植到兼容的開發板(CPU核采用ARMv5指令集)上,但因為不能定制而無法將其用于實際產品。Google現在沒有明確什么時候發布中間件的源代碼。其實Google也沒有明確說過將發布中間件的源代碼。
Google說Android組成框架是“the first complete, open, and free mobile platform”。在英文中“free”既可以解釋成“自由”,也可以解釋成“免費”。如何解釋完全在于Google。我覺得Google最想抓住的是 應用軟件的開發者,即希望公司和個人都學習它的SDK。
為它的平臺開發應用軟件。Google肯定會和廠家合作,開發支持Android平臺的手機。但 Google是否會在網絡上完全開放中間件代碼,還是個未知數。如果Google完全開放這個平臺,那么與J2ME類似,各公司肯定會在這個平臺上添加自己的擴展,使各平臺不能完全兼容。所以,Google很可能用商業手段來保證Android平臺的一致性。
【編輯推薦】