Google公司在2007年11月5日正式公佈這個操作系統,2008年,Patrick Brady於Google I/O演講“Anatomy & Physiology of an Android”,並提出的Android HAL架構圖。 HAL以*.so檔的形式存在,可以把Android framework與Linux kernel隔開。 Android擁有功能強大的API,出色的文檔,茁壯成長的開發人員社區,而且不需要為開發或發布支付費用。隨著移動設備的日益普及,不管在怎樣的開發背景下,使用Android軟件開發新穎的手機應用程序都是一個令人為之振奮的良機。 [1]
應用程序框架支持組件的重用與替換 ·Dalvik虛擬機專門為移動設備做了優化 ·內部集成瀏覽器該瀏覽器基於開源的WebKit 引擎 ·優化的圖形庫 包括2D和3D圖形庫,
3D圖形庫基於OpenGL ES 1.0 (硬件加速可選) ·#SQLite 用作結構化的數據存儲·多媒體支持 包括常見的音頻、視頻和靜態印象文件格式(如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) ·GSM電話 (依賴於硬件) ·藍牙Bluetooth, EDGE, 3G, and WiFi (依賴於硬件) ·照相機,GPS,指南針,和加速度計 (依賴於硬件) ·豐富的開發環境 包括設備模擬器,調試工具,內存及性能分析圖表,和Eclipse集成開發環境插件。
應用程序
Android以Java為編程語言,使接口到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個 Activity 類(class)負責創建視窗(window),一個活動中的Activity就是在 foreground(前景)模式,背景運行的程序叫做Service。兩者之間通過由ServiceConnection和AIDL連結,達到復數程序同時運行的效果。如果運行中的 Activity 全部畫面被其他 Activity 取代時,該 Activity 便被停止(stopped),甚至被系統清除(kill)。
View等同於J2ME的Displayable,程序人員可以通過 View 類與“XML layout”檔將UI放置在視窗上,Android 1.5的版本可以利用 View 打造出所謂的 Widgets,其實Widget只是View的一種,所以可以使用xml來設計layout,HTC的Android Hero手機即含有大量的widget。至於ViewGroup 是各種layout 的基礎抽像類(abstract class),ViewGroup之內還可以有ViewGroup。 View的構造函數不需要在Activity中調用,但是Displayable的是必須的,在Activity 中,要通過findViewById()來從XML 中取得View,Android的View類的顯示很大程度上是從XML中讀取的。 View 與事件(event)息息相關,兩者之間通過Listener 結合在一起,每一個View都可以註冊一個event listener,例如:當View要處理用戶觸碰(touch)的事件時,就要向Android框架註冊View.OnClickListener。另外還有Image等同於J2ME的BitMap。
應用程序的運行
編程語言
Android 是運行於 Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 裡支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。 Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。 Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 userspace,使得Linux driver 與 Linux kernel徹底分開。 bionic/libc/kernel/ 並非標準的kernel header files。 Android 的 kernel header 是利用工具由 Linux kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。
Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Managemeat),程序管理(Process Management),網絡堆棧(Network Stack),驅動程序模型(Driver Model)等。下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。 Repo 是 Android 用來輔助Git工作的一個工具。
就業前景
發展
Android在中國的前景十分廣闊,首先是有成熟的消費者,在國內,Android社區十分紅火,這些社區為Android在中國的普及做了很好的推廣作用。國內廠商和運營商也紛紛加入了Android陣營,包括中國移動,中國聯通,中興通訊,華為通訊,聯想等大企業,同時不僅僅局限於手機,國內廠家也陸續推出了採用Android系統的MID產品,比較著名的包括由Rockchip和藍魔推出的同時具備高清播放和智能係統的音悅匯W7和2010年推出的原道N5,我們可以預見Android也將會被廣泛應用在國產智能上網設備上,將進一步擴大Andorid系統的應用範圍。另一方面,由於國內政策的限制,導致Android的部分功能(如Android market)在國內無法正常使用,常用的解決方法是使用VPN服務來訪問。
Gartner預計,到2016年底,將有23億部計算機、平板電腦和智能手機使用Android,而Windows設備數量為22.8億部。相比之下,到年底,Windows設備數量將達到15億部,而Android設備數量為6.08億部。
Android操作系統2008年才上市,隨後迅速成為主導性的智能手機平台,市場份額達到了2/3。與此同時,在快速發展的平板電腦市場,Android份額也位居第二。雖然Android是一款免費軟件,但它卻推動了谷歌核心的搜索業務增長。
由於越來越多的用戶轉向平板電腦和智能手機,第三季度全球PC出貨量同比下滑8%,為2001年來的最大降幅。雖然微軟Windows長期統治PC市場,但在智能手機市場,微軟的份額僅約為3%。
就業前景和行業需求
隨著移動互聯網的到來和迅猛發展,移動互聯網開發人員的需求也是與日俱增。比如說android市場,國外Android市場正在如日中天的擴展,據市場研究公司IDC發布研究報告稱,預計中國智能手機市場在全球市場上所佔份額將會從18.3%上升至26.5%,而美國市場所佔份額則將從21.3%下降至17.8%。相信在不久的將來會有更多的用戶選擇Android系統的手機或是無線終端設備。
中國擁有世界上最大的手機用戶群,再加上3G的推出對整個行業的巨大推動作用,全世界所有大中小型手機製造商幾乎都在招聘Android工程師。然而每天有超過16萬台的Android設備出貨,一年後全球可能會有超過1億台的Android設備,以後將超越iphone成為智能手機平台的旗艦。