Presentation is loading. Please wait.

Presentation is loading. Please wait.

第1章 Android基礎與開發環境的建立 1-1 Android的基礎 1-2 Android的系統架構

Similar presentations


Presentation on theme: "第1章 Android基礎與開發環境的建立 1-1 Android的基礎 1-2 Android的系統架構"— Presentation transcript:

1 第1章 Android基礎與開發環境的建立 1-1 Android的基礎 1-2 Android的系統架構

2 1-1 Android的基礎 1-1-1 Google與Android 1-1-2 Android的版本 1-1-3 Android的特點

3 1-1-1 Google與Android Android是一套使用Linux作業系統為基礎開發的開放原始碼(Open Source)作業系統,最初主要是針對手機等行動裝置使用的作業系統,現在Android已經逐漸擴充到平板電腦和其他領域,例如:電子書閱讀器、MP4播放器和Internet電視等。 Android作業系統最初是Andy Rubin創辦的同名公司Android, Inc開發的行動裝置作業系統,在2005年7月Google收購此公司,之後Google拉攏多家通訊系統廠商、硬體製造商等在2007年11月5日組成「開放式手持裝置聯盟」(Open Handset Alliance),讓Android正式成為一套開放原始碼的作業系統。

4 1-1-2 Android的版本 Android版本 釋出日期 代號 1.5 2009/4/30 Cupcake(紙杯蛋糕) 1.6
2009/9/15 Donut(甜甜圈) 2.0/2.1 2009/10/26 Eclair(閃電泡芙,法式奶油夾心甜點) 2.2 2010/5/20 Froyo(冷凍乳酪) 2.3 2010/12/6 Gingerbread(薑餅) 3.0/3.1/3.2 2011/2/22 Honeycomb(蜂窩) 4.x 2011/10/19 Ice Cream Sandwich(冰淇淋三明治) 4.1/4.2/4.3 2012/6/28,10/29,2013/7/24 Jelly Bean(雷根糖) 4.4 2013/9/3 KitKat(奇巧巧克力) 5.x 2014/10 Lollipop(棒棒糖)

5 1-1-3 Android的特點 硬體:支援數位相機、GPS、數位羅盤、加 速感測器、重力感測器、趨近感測器、陀 螺儀和環境光線感測器等。 通訊與網路:支援GSM/EDGE、IDEN、GPRS 、CDMA、EV-DO、UMTS、藍牙、WiFi、LTE 和WiMAX等。 簡訊:支援SMS和MMS簡訊。 瀏覽器:整合開放原始碼WebKit瀏覽器, 支援Chrome的JavaScript引擎。

6 1-1-3 Android的特點 多媒體:支援常用音效、視訊和圖形格式,包含MPEG4、H.264、AMR、AAC、MP3、MIDI、Ogg Vorbis、WAV、JPEG、PNG、GIF和BMP等。 資料儲存:支援輕量化關聯式資料庫SQLite。 繪圖:支援2D函數庫的最佳化繪圖,和3D繪圖OpenGL ES規格。 其他:支援多點觸控、Flash、多工和可攜式無線基地台等。

7 1-1-3 Android的基本操作介面 – 說明 對於習慣Windows作業系統操作的使用者來說,Android操作介面因為是一套行動裝置的作業系統,螢幕尺寸通常比較小,其操作邏輯反而比較像是在Web瀏覽器瀏覽網站的多頁網頁。 在說明Android系統架構和應用程式的組成元件前,我們先來看一看Android作業系統的主要操作介面:首頁畫面和活動。

8 1-1-4 Android的基本操作介面 – 首頁畫面
Android作業系統在啟動後進入的是首頁畫面(Home Screen),這是一個特殊的應用程式,作為使用Android作業系統服務的介面,類似Windows作業系統的桌面,可以將常用程式的捷徑新增至首頁畫面,如右圖所示:

9 1-1-4 Android的基本操作介面 – 應用程式啟動器
在下方中間是應用程式啟動器(App Launcher),內含5個圖示可以啟動常用的電話、聯絡人、簡訊和瀏覽器,選中間圓形的【啟動器】圖示,可以顯示安裝的應用程式清單,如右圖所示:

10 1-1-4 Android的基本操作介面 – 活動 Android應用程式主要是由一或多個活動(Activity)所組成,每一個活動可以建立與使用者互動的操作介面,類似Web網站的表單網頁,如右圖所示:

11 1-2 Android的系統架構 – 圖例 Android 作業系統的系統架構像是在蛋糕店購買的一個多層蛋糕,在行動裝置的硬體和使用者之間是Android軟體堆疊(Android Software Stack),可以分成很多層,如右圖所示:

12 1-2 Android的系統架構 – 應用程式 應用程式
使用者在Android作業系統執行的是應用程式,這也是使用者真正面對的Android作業系統,基本上,Android預設內建多種核心應用程式,包含:瀏覽器、日曆、聯絡人和打電話等,所有Android應用程式都是使用Java語言開發的應用程式。 本書的主要目的是幫助讀者學習如何建立Android系統架構最上層的Android應用程式。

13 1-2 Android的系統架構 – 應用程式框架
位在應用程式之下的是應用程式框架,這一層提供高階的建構元件,即一組類別集合來建立Android應用程式,換句話說,應用程式框架代表Android作業系統已經實作眾多Java類別,我們只需呼叫適當物件的方法,或繼承指定類別來擴充其功能,就可以快速建立Android應用程式。

14 1-2 Android的系統架構 – 函數庫 函數庫
位在應用程式框架之下的是函數庫,負責支援應用程式框架各元件的執行,這是一些使用C/C++語言撰寫的函數庫,包含:瀏覽器引擎的WebKit、3D繪圖的OpenGL、資料庫的SQLite和支援多種媒體播放的函數庫。 基本上,Android應用程式的開發者並不能直接使用這些函數庫,而是需要透過應用程式框架預先建立的Java類別來使用這些函數庫。

15 1-2 Android的系統架構 – Android執行環境1
Android執行環境是由虛擬機器和核心Java函數庫組成,其說明如下所示: 虛擬機器:Android虛擬機器是Google針對行動裝置實作的Java執行環境,因為Android應用程式是使用Java撰寫和編譯,在虛擬機器上執行,4.4之前版本是使用Dalvik VM虛擬機,在4.4版新增更有效率的ART(Android Runtime),需要自行切換使用,5.x版預設是ART。所以,Java程式碼在編譯成Java類別檔後,還需轉換成Android虛擬機器的格式,才能在Dalvik VM或ART虛擬機執行。

16 1-2 Android的系統架構 – Android執行環境2
核心Java函數庫:核心Java函數庫,Android支援的Java API是Java SE API的子集,刪除一些不需要的套件,例如:列印、視窗Swing或AWT等。

17 1-2 Android的系統架構 – Linux核心
Android作業系統是架構在Linux作業系統之上,Linux核心在Android系統架構中扮演硬體與其他軟體堆疊之間的抽象層(Abstraction Layer),5.x版是使用64位元版本的Linux核心。 Linux核心負責提供系統的核心服務,包含:執行緒、低階的記憶體管理、網路、行程管理、電源管理(Power management)和硬體的驅動程式。

18 1-3 Android應用程式的組成元件 – 說明
在Android作業系統上執行的應用程式是由多種元件(Components)組成,它是在Android作業系統管理的Linux行程(Process)上執行的應用程式。Android應用程式的組成有四種元件,如下所示: 活動(Activities)。 內容提供者(Content Providers)。 廣播接收器(Broadcast Receivers)。 服務(Services)。

19 1-3 Android應用程式的組成元件 – 活動
活動是Android應用程式與使用者互動的元件,可以用來定義使用者經驗,活動也是Android作業系統唯一可以讓使用者看到的元件,即使用介面元件組成的螢幕。Android應用程式可以建立一至多個活動來處理應用程式所需的不同互動。 一般來說,一個活動就是使用者在行動裝置上看到的單一螢幕畫面(大多佔滿整個螢幕,不過也有可能是對話方塊或Fragment片段),一個Android應用程式通常擁有一至多個活動,如同Web網站擁有多頁網頁,進一步說明請參閱第5章。

20 1-3 Android應用程式的組成元件 – 意圖
意圖(Intents)是一個啟動其他Android活動、服務和廣播接收器的非同步訊息,非同步(Asynchronous)是指訊息的送出和接收是相互獨立。意圖可以告訴Android作業系統我想作什麼?執行什麼動作?此時,作業系統是使用意圖篩選(Intent Filters)來找出可以處理的元件,例如:啟動其他活動、告訴指定服務可以啟動或停止與送出廣播。

21 1-3 Android應用程式的組成元件 – 內容提供者
內容提供者是在不同Android應用程式之間分享資料的介面,它是一組封裝的資料,提供客製化API來進行讀寫。 例如:聯絡人應用程式並沒有儲存任何聯絡人資料,它是透過內容提供者取得聯絡人資訊:姓名、地址和電話等,換句話說,其他需要使用聯絡人資料的Android應用程式,都可以透過同一個內容提供者來存取聯絡人資料。

22 1-3 Android應用程式的組成元件 – 廣播接收器
廣播接收器顧名思義是用來接收廣播並且做出回應,這是Android實作系統層級的廣播與回應機制,事實上,Android系統本身就會常常發出廣播,例如:接到來電、收到簡訊、啟動相機裝置、時區改變、系統開機、電池剩餘電量過低或使用者選擇偏好語言時,Android系統都會發出廣播。

23 1-3 Android應用程式的組成元件 – 服務
服務是在背景執行的行程,可以執行和活動一樣的工作,只是沒有使用介面。例如:播放背景音樂時,之所以不會打斷我們發送簡訊或收發電子郵件,因為它是一個在背景執行的服務,才能讓音樂播放不會中斷。

24 1-4 Android應用程式的開發環境 – 說明
如同學習其他程式語言一般,我們需要一些工具程式將撰寫的程式碼編譯成執行檔,Android應用程式開發同樣需要一些工具,最重要的是Google提供的Android SDK(Android Software Development Kit),一套免費和跨平台的Android應用程式開發套件,和官方在2014年12月推出的Android Studio整合開發環境。

25 1-4 Android應用程式的開發環境 – Android Studio
Android Studio是在2013年5月推出0.1測試版本,這是第一套Google官方的Android整合開發環境,2014年12月釋出1.0正式版。Android Studio是一套基於IntelliJ IDEA社群版(Community)建立的整合開發環境,可以跨平台支援Windows、Mac OS X 和Linux作業系統。

26 1-4 Android應用程式的開發環境 – Android SDK
除了Android Studio整合開發環境外,開發Android應用程式還需要Android SDK(Android開發套件),此套件包含偵錯器、Android模擬器(Android Virtual Device)、函數庫、文件、範例和教材,可以幫助我們開發與測試執行Android應用程式。

27 1-4 Android應用程式的開發環境 – Android Studio Bundle(說明)
Android Studio Bundle是Google公司推出的Android開發環境的整合安裝套件,用來取代舊版ADT Bundle(Android Development Tools Bundle),其最大差異是將原來Eclipse IDE整合開發環境換成Android Studio,和提供安裝程式進行安裝(ADT Bundle只是一個壓縮檔,直接解壓縮即可使用,並沒有安裝程式)。

28 1-4 Android應用程式的開發環境 – Android Studio Bundle(內容)
Android Studio Bundle包含所有開發Android應用程式所需的相關工具(包含前述Android Studio和Android SDK),其內容如下所示: IntelliJ整合開發環境社群版和Android Studio外掛程式 Android SDK工具。 Android平台工具。 一個Android平台,以本書為例是Android 5.01版。 一個Android模擬器使用的系統映像檔。

29 1-4 Android應用程式的開發環境 – Android模擬器
在Android SDK提供Android模擬器(Android Virtual Devices,英文簡稱AVD),這是一個非常有用的工具,可以在Windows作業系統模擬一台執行Android作業系統的行動裝置,幫助我們測試Android Studio開發的Android應用程式,而不用真正購買一台實機的智慧型手機或平板電腦。 所以,就算讀者沒有或尚未購買執行Android作業系統的行動裝置,我們仍然可以使用Android模擬器來測試執行我們開發的Android應用程式。

30 1-5 下載與安裝Android開發環境 1-5-1 下載和安裝JDK 1-5-2 下載和安裝Android Studio Bundle
1-5-3 更新Android SDK工具與安裝平台套件

31 1-5 下載與安裝Android開發環境 – 基本步驟
現在,建立Android開發環境只需在Windows開發電腦安裝Java語言的JDK後,下載和安裝Android Studio Bundle,就可以建立Android應用程式的開發環境,其基本步驟如下所示: Step 1:下載和安裝JDK(7或8都可以)。 Step 2:下載和安裝Android Studio Bundle。

32 1-5-1 下載和安裝JDK – 下載JDK Android應用程式的原生開發語言是Java,Android 5.x版是使用Java SE 7,不過,我們一樣可以使用最新Java SE 8,但是,在撰寫程式碼時不要使用Java 8新增語法,以避免相容問題。 在Windows開發電腦需要安裝JDK來編譯Java語言撰寫的Android程式碼,本書安裝的是JDK 8(Java SE Development Kit 8)。JDK可以從網路上免費下載,其下載網址如下所示:

33 1-5-1 下載和安裝JDK – 安裝JDK1 在Windows作業系統只需執行此檔案,就可以安裝JDK 8,其步驟如下所示:
Step 1:在本書是使用64位元版本和Windows 7為例,請按二下【jdk-8u25-windows-x64.exe】程式檔案,如果看到「使用者帳戶控制」對話方塊,請按【是】鈕繼續,可以看到歡迎安裝的精靈畫面。 Step 2:請按【Next】鈕,選擇JDK安裝元件和路徑。 Step 3:預設安裝路徑是「C:\Program Files\Java\jdk1.8.0_25\」,如果需要,請按【Change】鈕更改,以此例沒有更改,按【Next】鈕開始安裝JDK。

34 1-5-1 下載和安裝JDK – 安裝JDK2 Step 4:可以看到目前的安裝進度,稍等數分鐘,等到JDK安裝完成,可以看到選擇安裝Java SE Runtime Environment(即JVM)的目的路徑。 Step 5:不用更改,請按【下一步】鈕,稍等一下,等到完成安裝和設定JVM後,可以看到完成安裝的精靈畫面。 Step 6:按【Close】鈕完成JDK的安裝。

35 1-5-1 下載和安裝JDK – 新增JAVA_HOME環境變數
Step 1:請執行「開始/控制台」指令開啟「控制台」視窗,選【系統及安全性】後,選【系統】,再選左邊最後1個的【進階系統設定】,可以看到「系統內容」對話方塊。 Step 2:請按右下方【環境變數】鈕,可以看到「環境變數」對話方塊。 Step 3:在下方「系統變數」框,按【新增】鈕,可以看到「編輯系統變數」對話方塊。 Step 4:在【變數名稱】欄輸入【JAVA_HOME】,【變數值】欄輸入【C:\Program Files\Java\jdk1.8.0_25】,按三次【確定】鈕完成環境變數的新增。

36 1-5-2 下載和安裝Android Studio Bundle – 下載Android Studio Bundle
Android Studio Bundle是Google公司推出的Android開發環境的整合安裝套件,在此套件就包含開發Android應用程式所需的開發工具。 Android Studio Bundle可以在Android官方網站免費下載最新版本,其下載網址如下所示:

37 1-5-2 下載和安裝Android Studio Bundle – 安裝Android Studio Bundle1
在新增JAVA_HOME環境變數和成功下載Android Studio Bundle後,就可以開始安裝Android Studio Bundle,其安裝步驟如下所示: Step 1:請按二下【android-studio-bundle exe】安裝程式檔案,稍等一下,如果看到安全性警告,請按【執行】鈕,可以看到歡迎安裝的精靈畫面。 Step 2:按【Next】鈕,選擇安裝的元件。 Step 3:預設選取所有安裝元件(硬碟空間需要3.8GB),不用更改,按【Next】鈕,可以看到版權說明文字。

38 1-5-2 下載和安裝Android Studio Bundle – 安裝Android Studio Bundle2
Step 4:在閱讀版權說明後,按【I Agree】鈕同意授權,就可以選擇Android Studio和Android SDK安裝路徑。 Step 5:預設路徑分別為「C:\Program Files\Android\Android Studio」和「C:\使用者\<登入使用者>\App Data\Local\Android\sdk」,不用更改,請按【Next】鈕,設定Intel HAXM驅動程式(在第3章有進一步說明)。 Step 6:如果電腦支援Intel HAXM驅動程式來加速模擬器執行(即步驟3最後1個安裝元件,不支援,就不會看到此元件),就會看到此步驟的設定頁面,否則直接跳至步驟7,我們需要指定驅動程式最大的可用記憶體空間,建議值是2GB,請視電腦安裝的記憶體來自行調整,完成後,按【Next】鈕指定開始功能表的目錄名稱。

39 1-5-2 下載和安裝Android Studio Bundle – 安裝Android Studio Bundle3
Step 7:預設值是【Android Studio】,不用更改,請按【Install】鈕開始安裝。稍等一下,可以看到目前的安裝進度,等到安裝完成,可以看到完成安裝的精靈畫面。 Step 8:按【Finish】鈕完成安裝,在最後步驟預設勾選【Start Android Studio】,完成安裝就會馬上執行Android Studio的第一次啟動。

40 1-5-2 下載和安裝Android Studio Bundle – 第一次啟動Android Studio來更新元件
在完成Android Studio安裝後,我們需要第一次啟動Android Studio來更新相關元件(請建立Internet連線),其步驟如下所示: Step 1:如果在安裝最後步驟勾選【Start Android Studio】,就會馬上啟動Android Studio,否則請執行「開始/所有程式/Android Studio/Android Studio」指令啟動Android Studio,可以看到商標圖片。 Step 2:稍等一下,如果是第1次啟動,可以看到「Complete Installation」對話方塊(下次啟動就不會再出現)。

41 1-5-2 下載和安裝Android Studio Bundle – 第一次啟動Android Studio來更新元件
Step 3:如果作業系統安裝過舊版Android Studio或IntelliJ IDEA,可以勾選第1個選項匯入舊版設定,如果是第1次使用,不用更改,請按【OK】鈕,可以看到設定精靈自動下載和更新元件的下載進度。 Step 4:等到更新元件下載完成後,可以在最後看到已經新增一個名為【Nexus_5_API21_x86】的Android模擬器(名稱可能不同)。 Step 5:按【Finish】鈕成功更新元件後,就會啟動Android Studio看到「Android Studio」歡迎視窗。

42 1-5-3 更新Android SDK工具與安裝平台套件 – 說明
Android Studio Bundle預設只會安裝一個版本的Android SDK平台套件,對於其他版本的套件或需要更新Android開發工具,我們都需要啟動SDK Manager來進行安裝和更新。 因為Android SDK相關工具和平台套件會常常更新,在安裝Android Studio預設會自動更新一次(如果有更新也會自動提示),如果需要,我們可以啟動SDK Manager自行更新Android SDK相關工具和平台套件。

43 1-5-3 更新Android SDK工具與安裝平台套件 – 更新Android SDK工具與平台套件1
啟動SDK Manager自行更新Android SDK相關工具和平台套件(請先建立Internet連線),其步驟如下所示: Step 1:請啟動Android Studio,在「Android Studio」視窗選【Configure】。 Step 2:再選【SDK Manager】,就可以啟動SDK Manager(如果已經進入主畫面,請執行「Tools/Android/SDK Manager」指令)。 Step 3:等到成功下載和載入套件清單後,在【Status】狀態欄顯示Update available,表示有更新,預設勾選所有可更新項目,如下圖所示:

44 1-5-3 更新Android SDK工具與安裝平台套件 – 更新Android SDK工具與平台套件2
Step 4:請按【Install ? packages】鈕(「?」號項目數,以此例是13),可以看到「Choose Packages to Install」對話方塊。 Step 5:左邊是安裝清單,右邊是授權書,選【Accept All】同意全部授權,按【Install】鈕開始下載和更新選擇的工具或平台套件。 Step 6:等到完成Android工具和平台更新後,如果看到需要重新啟動SDK Manager來完成更新的「Android Tools Updated」對話方塊。 Step 7:請按【OK】鈕後,再按左上角【X】鈕關閉對話方塊,重新啟動SDK Manager,可以看到相關工具和套件都已經更新。

45 1-5-3 更新Android SDK工具與安裝平台套件 – 安裝指定版本的Android SDK平台套件(說明)
Android SDK平台有多種版本,分別對應Android不同版本的作業系統,在Android Studio Bundle內建的平台版本是最新版本,如果讀者需要針對4.4版或特定版本開發應用程式,需要自行下載安裝Android 4.4.2或特定版本的平台套件。 請注意!Android模擬器的System Image有兩種,ARM EABI v7a System Image是針對高通或聯發科等公司的ARM CPU;Intel x86 Atom System Image是Intel公司的Atom CPU。

46 1-5-3 更新Android SDK工具與安裝平台套件 – 安裝指定版本的Android SDK平台套件(步驟)
筆者準備使用Android 4.4.2版本為例說明如何安裝其他版本的Android SDK平台套件(請先建立Internet連線),其步驟如下所示: Step 1:請啟動SDK Manger看到「Android SDK Manager」視窗,在平台套件部分,請勾選【Android 4.4.2】。 Step 2:按右下角【Install ? packages】鈕(「?」號是套件數,以此例是8),可以看到「Choose Packages to Install」對話方塊。 Step 3:左邊是準備安裝的套件清單;右邊是授權書,選【Accept All】同意全部授權後,按【Install】鈕開始下載和安裝選擇的套件。 Step 4:稍等一下,等待時間需視選擇的數目而定,等到安裝完成,可以在「Android SDK Manager」視窗看到安裝的套件清單,Status狀態欄會更新為Installed;Not installed是沒有安裝。

47 1-5-3 更新Android SDK工具與安裝平台套件 – 更新Android Studio整合開發工具
Android Studio整合開發工具本身如果有更新,在啟動時就會提示有更新(也會提示Android SDK的更新),我們也可以手動檢查是否有更新,其步驟如下所示: Step 1:請啟動Android Studio,在「Android Studio」視窗左下方顯示目前的版本,如果有更新,在右上方會提示顯示更新Update Info。 Step 2:請點選右上方的【update】超連接進行更新,或點選左下方【Check】超連接,可以手動檢查是否有更新,有更新,就會看到「Update Info」對話方塊。 Step 3:請按【Update and Restart】鈕,就可以更新和重新啟動Android Studio。

48 End


Download ppt "第1章 Android基礎與開發環境的建立 1-1 Android的基礎 1-2 Android的系統架構"

Similar presentations


Ads by Google