Download - ch1. 初探 A NDROID
![Page 1: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/1.jpg)
ch1. 初探 ANDROID
![Page 2: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/2.jpg)
OUTLINE
• Android 是什麼• Android 簡史• Android 設備的授權方式• 開發方向
![Page 3: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/3.jpg)
ANDROID 是什麼 ?
![Page 4: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/4.jpg)
ANDROID 是什麼
• 開放原始碼作業系統平台• 手機作業系統• 手持設備作業系統• 繼 PC 之後的開放標準
![Page 5: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/5.jpg)
55
系統架構
![Page 6: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/6.jpg)
開發者分類
• Linux 核心開發• 函式庫開發• 虛擬機器開發• 應用程式框架開發• 應用程式開發
![Page 7: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/7.jpg)
產業鏈
• 硬體開發商• 手持設備製造商• 電信業者• 線上商店• 應用軟體開發者• 使用者
![Page 8: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/8.jpg)
ANDROID 簡史
![Page 9: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/9.jpg)
ANDROID 簡史
• 2007/11/5 Open Handset Alliance (OHA)• 2008/10/20 發布 SDK 1.0 與發售 T-
Mobile G1 • 2009/4/27 發布 SDK 1.5• 2009/9/16 發布 SDK 1.6• 2009/10/28 發布 SDK 2.0• 2009/12 非手機設備• 2010/5 發布 2.2• 2010/12 發布 2.3• 2011/1 全球市占率第一
![Page 10: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/10.jpg)
ANDROID 簡史
• 2010/10 發布 2.2 、第一台平板• 2011/2 發布官方 3.0 平板版本• 2011/10 發布 4.0 新界面
![Page 11: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/11.jpg)
ANDROID 設備的授權方式
![Page 12: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/12.jpg)
ANDROID 設備的授權方式
• Google 直接參與研發,產品上可掛 Google 品牌• 符合測試標準,提供 Google 應用程式與 Market• 無授權的開放原始碼自訂版本
![Page 13: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/13.jpg)
ANDROID 開發方向
![Page 14: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/14.jpg)
ANDROID 開發方向
應用程式 遊戲( 由 Market 分類 )
![Page 15: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/15.jpg)
ANDROID 開發方向
• 多媒體• 社群• 新聞• 公益與慈善• 環保• 生產力工具• 遊戲• 地點相關服務• 新穎的使用者介面• ......
![Page 16: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/16.jpg)
參考網站
• ADC 1 Top 50• Apps Reviews
![Page 17: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/17.jpg)
ch2. 安裝開發工具
![Page 18: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/18.jpg)
OUTLINE
• 系統需求• 安裝套件• 安裝流程
![Page 19: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/19.jpg)
系統需求
![Page 20: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/20.jpg)
系統需求
• Windows XP• Windows Vista• Windows 7• Mac OS X >= 10.5• Ubuntu• RedHat• Fedora• OpenSUSE• ....
![Page 21: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/21.jpg)
安裝套件
![Page 22: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/22.jpg)
JAVA
• 程式語言• JDK > 1.6• from
http://www.oracle.com/technetwork/java/javase/downloads/index.html
![Page 23: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/23.jpg)
ADT Bundle
• IDE 整合開發環境• from http://developer.android.com/sdk/index.html
![Page 24: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/24.jpg)
安裝流程
![Page 25: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/25.jpg)
安裝流程
• 下載 ADT Bundle• 解壓縮 ADT Bundle• 安裝 / 更新 SDK
![Page 26: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/26.jpg)
• 開發工具演進• 安裝 Target SDK• 升級開發工具與 SDK 組件
管理 SDK
![Page 27: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/27.jpg)
架構分類
![Page 28: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/28.jpg)
架構演進
< Android 1.5
Android 2.x~
![Page 29: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/29.jpg)
安裝 Target SDK
• 打開 SDK manager• 下載 Target SDK version
![Page 30: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/30.jpg)
升級開發工具
• Eclipse Menu > Help > Check for Updates
![Page 31: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/31.jpg)
升級 SDK 組件
• Check Available Packages
![Page 32: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/32.jpg)
ch3. 開啓現有專案
![Page 33: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/33.jpg)
OUTLINE
• 開啟專案• 刪除專案• 匯入專案• 修復專案• 切換版本
![Page 34: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/34.jpg)
開啟專案
![Page 35: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/35.jpg)
新建專案
• New > Project > Create project from existing source
![Page 36: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/36.jpg)
開啟專案
• Prepare Source Projecto From android_sdk/samples/android-{version}
![Page 37: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/37.jpg)
刪除專案
![Page 38: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/38.jpg)
刪除專案
• In Navigator/Package Manager viewo right click > delete
![Page 39: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/39.jpg)
匯入專案
![Page 40: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/40.jpg)
匯入專案
• Prepare Source Projecto Copy project from Book DVDo From open source projects
• File > Import
![Page 41: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/41.jpg)
修復
![Page 42: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/42.jpg)
修復專案屬性修復奇怪錯誤• 右鍵 > Android Tools > Fix Project Properties
修復 R.java 錯誤• 編輯 xml 文件後存檔• 刪除 src 目錄下的 R.java
![Page 43: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/43.jpg)
調整預設編碼
• 調整預設編碼為 UTF-8
![Page 44: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/44.jpg)
重新編譯專案
• 「 Project > Clean... 」
![Page 45: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/45.jpg)
切換目標版本
![Page 46: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/46.jpg)
切換目標版本
• 專案目錄上按右鍵 > properties
![Page 47: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/47.jpg)
切換 Java 版本
• Java 版本切換為 1.6
![Page 48: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/48.jpg)
ch4. 操作虛擬機器
![Page 49: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/49.jpg)
OUTLINE
• 設定環境參數• 設定虛擬機器• 執行虛擬機器• 操作虛擬機器
![Page 50: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/50.jpg)
設定環境參數
![Page 51: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/51.jpg)
設定參數
• Run > Debug Configurations...
![Page 52: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/52.jpg)
設定虛擬機器
![Page 53: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/53.jpg)
設定虛擬機器
• AVD : Android Virtual Device• Android Device Manager
![Page 54: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/54.jpg)
執行虛擬機器
![Page 55: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/55.jpg)
執行虛擬機器
• Run > Run Configuration...
![Page 56: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/56.jpg)
操作虛擬機器
![Page 57: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/57.jpg)
操作虛擬機器
• 切換螢幕方向
Ctrl+F12 切換螢幕方向Alt+Enter 切換全螢幕F6 切換軌跡球模式Delete ( 按著 ) 軌跡球模式註 : Mac OS 上要加按 Fn 鍵
![Page 58: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/58.jpg)
ch5. 建立應用程式
![Page 59: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/59.jpg)
OUTLINE
• 建立新程式專案• 程式專案架構
![Page 60: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/60.jpg)
建立新程式專案
![Page 61: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/61.jpg)
建立新程式專案
• File > New > Project
名稱 值Application Name BMI
Project Name BMI
Package Name com.demo.android.bmi
![Page 62: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/62.jpg)
WIZARD FIELDS
名稱 描述Application Name 應用程式顯示在螢幕上的標題。
Project Name 這個專案所在的資料夾名稱。
Package Name 套件 (Package) 名稱。 JAVA 的習慣是用套件名稱來區分不同的類別 (class) 。依照專案的不同,我們會取不同的路徑名稱。
Compile With 選擇用來編譯專案的目標 SDK 版本 。
Minimum Required SDK 本應用程式所支援的最低 SDK 版本代號。在後面章節會另行說明。
![Page 63: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/63.jpg)
程式專案架構
![Page 64: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/64.jpg)
程式專案架構
![Page 65: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/65.jpg)
SRC/ 原始碼( source)目錄
• 存放 *.java 程式碼• 依 package 路徑儲存• MainActivity.java
![Page 66: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/66.jpg)
Main.java 程式進入點
• 程式碼的進入點• 隨著建立專案畫面中所填入「 Create Activity 」欄位值的
不同而改變
![Page 67: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/67.jpg)
GEN/ 自動生成(Generate)目錄
• 自動產生的資料夾• R.java
![Page 68: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/68.jpg)
RES/ 資源( Resource)目錄
• 資源資料夾• layout/ 版面配置• values/ 參數值• drawable/ 圖片
![Page 69: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/69.jpg)
RES/LAYOUT/
• 版面配置資料夾
![Page 70: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/70.jpg)
RES/VALUES/
• 存放參數
![Page 71: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/71.jpg)
ANDROIDMANIFEST.XML 功能清單
• 宣告程式中用到的所有組件,如• 呼叫到的 Activity 或 Service• 支援的解析度( support-screens)• 使用到的函式庫( uses-library)• 支援的內容提供者( Content Provider)• 使用到的系統服務
![Page 72: ch1. 初探 A NDROID](https://reader031.vdocuments.pub/reader031/viewer/2022020713/5681332e550346895d9a2b58/html5/thumbnails/72.jpg)
建立資源檔案
• 點選快捷列 da 新增選單資源檔