2008年10月9日 星期四

深入淺出Android程式設計(2)-什麼是Android?

首先,讓我們先來了解什麼是Android,Android是一個包含作業系統、中介架構層及應用程式所產生出來的軟體堆疊(Software Stack)架構。如圖1所示。

由下而上,其核心為嵌入式Linux 2.6作業系統,向上搭配Google為Android開發的Libraries(函式庫)及Android Runtime,再配合Application Framework(應用程式架構)。來開發各種不同的Application(應用程式)。


圖1

Android所發表的Android SDK(軟體開發套件),提供必要的API(應用程式開發介面)與開發工具以使用Java語言為主體來開發在Android平台上開發應用軟體。

目前所提供的功能如下:

A. 應用程式架構:在應用程式架構內已經具備多種不同的基礎軟體元件(如圖1所示),在開發應用程式時,就可以直接呼叫這些元件來使用,可以節省在開發應用程式的心力及時間。


B. Dalvik虛擬機器:在Android平台上所使用虛擬機器,不是標準的Java虛擬機器(Java Virtual Machine),雖然它是用Java語言來開發,而是使用Google為了要再節省手機上的資源而開發出獨有的Dalvik虛擬機器(Dalvik Virtual Machine)。


C. 整合瀏覽器:整合瀏覽器是Android內建的瀏覽器,是用WebKit的瀏覽引擎為基礎所開發成的。配合Android手機的功能,可以在瀏覽網頁時,達到更好的效果,例如:局部性的縮放網頁上的資訊、觸控式的操作等效果。


D. 最佳化的繪圖能力:在程式可以用到的繪圖功能分為2D與3D兩個方面,在2D方面,Android提供了一套特有的函式庫(SGL),而在3D方面則是使用OpenGL ES 1.0(OpenGL for Embedded Systems)規範的函式庫。


E. SQLite資料庫:SQLite也是一套開放性原始碼的關連式資料庫,其特點在於輕量性方面的設計結構,更適合在手機上使用。


F. 多媒體的支援能力:在Android平台上支援多種不同的多媒體格式,例如:MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF等格式。


G. GSM通話能力:GSM手機的通話能力是屬於手機硬體方面的展現,也是在開發Android應用程式可以強調的特點。


H. Bluetooth、EDGE、3G及Wi-Fi:這些通訊能力也是屬於手機硬體方面的展現,也是在開發Android應用程式可以強調的特點。


I. Camera、GPS、電子羅盤(compass)、加速度感測裝備(accelerometer):這些同樣也是屬於手機硬體方面的展現,也是在開發Android應用程式可以強調的特點。


J. 豐富的開發環境:在Android SDK(軟體開發套件)提供相當完善的程式開發環境,其開發環境包括裝置模擬器(Emulator)、除錯工具、程式執行所耗用記憶體、效能等方面的評估功能,另外也有提供可用於Eclipse IDE的外掛程式(Plug-in)介面(ADT套件,後續會有詳細安裝說明)。

上述為Android目前所提供的功能,目前Android SDK的版本已經到1.0的版本,在後續幾個章節會介紹Android的架構說明以及如何下載安裝Android SDK、Eclipse、ADT套件等開發工具。

沒有留言: