第1章 初識Android
毫無疑問,你肯定急於開始學習Android應用程式開發。畢竟,程式設計對程式設計師來說吸引力也是很大的。然而,在開始實際程式設計前,需要先了解Android的系統。
1.1 Android是什麼
Android,中文名為安卓,直接翻譯是機器人的意思,它是Google公司推出的一款開源免費的智慧作業系統,不僅限於手機,現在很多終端都在使用Android作業系統,如手錶、電視、汽車、平板電腦、微波爐等,如圖1-1和圖1-2所示。一般而言,還是以手機開發為主,本書也是介紹如何進行手機軟體開發。
▲圖1-1 Android系統的微波爐
▲圖1-2 Android智慧電視
由於Android系統是免費的,所以推廣得很快。目前Android手機市場佔有率已經超過80%。
1.2 Android體系架構
為了更好地理解Android系統是如何工作的,接下來解剖一下Android系統,看看其內部是如何構建的,如圖1-3所示。
▲圖1-3 Android系統架構
Android大致可以分為4層架構、5塊區域。圖1-3從下到上依次為:
(1)Linux核心層;
(2)系統執行庫層;
(3)應用框架層;
(4)應用層。
1.Linux核心層
如圖1-4所示,Android系統是基於Linux 2.6核心的,這一層為Android的各種硬體提供了驅動程式,如顯示驅動、照相機驅動、聲音驅動、電池管理等。當手機開機的時候,這一層肯定先執行。
▲圖1-4 Linux核心層
2.系統執行庫層
如圖1-5所示,這一層通過一些C或者C++庫為Android系統提供了主要的特性支援。如Webkit提供了瀏覽器支援(保證手機能夠正常使用瀏覽器),SQLite庫提供了資料庫的支援(可以用來儲存一些資料),OpenGLES庫提供了3D繪圖的支援等。
這一層還有Android執行時庫,它主要提供了一些核心庫,能夠允許開發者使用Java語言編寫Android應用。另外,Android執行時庫中還包含了Dalvik虛擬機器(Android 5.0系統以後替換成了ART虛擬機器),因為Java語言的特性決定它只能通過虛擬機器去執行,這個有點像我們在電腦上玩小霸王的遊戲需要裝模擬器一樣。
▲圖1-5 系統執行庫層
無論是Dalvik虛擬機器還是ART虛擬機器,都是專門為移動裝置定製的,它針對手機記憶體、CPU效能有限等情況,ART虛擬機器安裝程式時間稍微長一點,但是執行程式快一點。Google工程師最終決定用ART虛擬機器(這點毋容置疑,沒人願意天天裝程式)。
不管是Dalvik虛擬機器還是ART虛擬機器,都要比Java語言官方本身的JVM虛擬機器要好用。當然最主要的原因是版權問題,雖然Java語言本身是開源免費的,但是JVM虛擬機器不是開源免費的,所以不能直接用JVM虛擬機器。
3.應用框架層
如圖1-6所示,這一層主要提供了構建應用程式時可能用到的各種API,Android自帶的一些核心應用就是使用這些API完成的,開發者也可以通過這些API構建自己的應用程式。這層的使用頻率要比上面介紹的兩層使用頻率高。
▲圖1-6 應用框架層
#### 4.應用層
如圖1-7所示,所有安裝到手機上的應用都屬於這一層,例如系統自帶的聯絡人、簡訊等程式,或者是自己下載的一些應用、遊戲,肯定也會包括自己寫的程式。
▲圖1-7 應用層
應用層和應用框架層大部分都是採用Java程式碼編寫的,Linux核心層和系統執行庫層大部分採用C或者C++編寫。
計算機語言核心就是0和1,理論上用一個電閘都能程式設計,閉合就是1,開啟就是0,一開一閉程式就執行了,估計幹這行的肯定瞧不上做C開發的。程式語言不分好壞,只是功能劃分不一樣。千萬不要和資深程式設計師爭論哪門程式語言好,他們眼中只有0或者1,基本上他能說的讓你高山仰止。
1.3 Android發展史
Android從2008年釋出1.0至今已經發布了20多個版本了,目前最新版本是Android 8,每一個系統版本都對應一個開發的API版本號,如Android 5.1對應API版本號21。每一個Android版本還都有一個代號,包括甜甜圈、薑餅、三明治、果凍豆、棒棒糖等。
如圖1-8所示,表中最右面一欄就是當前版本的市場份額,可以發現Android 4.4是當前最流行的版本,Android 5.0以上的會越來越多,而Android 4.1以下的手機基本上沒有了,Android 7.0還不到百分之一。所以本書重點講解Android 5.0~7.1的知識,相容到Android 4.1。
資料來源Android官網
▲圖1-8 Android各個版本市場佔有率
好了,Android基本資訊就介紹到這,接下進入真正的Android開發之旅。
京東購書:item.jd.com/12144527.ht…
試讀地址:www.epubit.com.cn/book/detail…