第二章:行動裝置與擴增實境
Outline 2-1 智慧型行動裝置 2-2 行動擴增實境 2-3 Android 2-4 建立Android開發環境 2-2-1 AndAR 2-2-2 NyARToolkit 2-2-3 QCAR 2-3 Android 2-3-1 Android的歷史 2-3-2 Android的系統架構 2-3-3 Android SDK簡介 2-4 建立Android開發環境 2-4-1 開發環境安裝 2-4-2 建立、執行專案 2-4-3 移除、匯入專案 2-4-4 Android NDK 2-5 Android擴增實境 2-5-1 AndAR安裝 2-5-2 NyARToolkit安裝 2-5-3 QCAR安裝 2-5-4 AR範例實機測試
2-1 智慧型行動裝置(1) 智慧型行動裝置:平板電腦。 智慧型行動裝置:智慧型手機。 在六十年代末Alan Kay提出了一種可以用筆輸入資訊的新型筆記型電腦的構思。 1989年9月第一台平板電腦問世,但其手寫辨識率過差、價格過高、重量過重,使得平板電腦並沒有受到青睞。 2002年由微軟公司大力推廣Windows XP Tablet PC Edition使得平板電腦慢慢流行起來。 智慧型行動裝置:智慧型手機。 隨著電腦硬體技術的發展,伴隨各種硬體零件重量與體積的縮小。以及3G無線網路的普及,使得原本厚重的黑金剛大哥大手機,逐漸被輕薄且功能強大的多功能手機所取代。 智慧型手機,並不是手機擁有許多的智慧。而是其功能除了可接聴電話外,更可以像電腦一樣,可任意安裝移除軟體,具備多功能的用途。
2-1 智慧型行動裝置(2) BlackBerry黑莓機。 第一台較有發展潛力的智慧型手機。 BlackBerry配備一個小型的QWERTY鍵盤,讓很多習慣電腦的使用者,馬上就能上手BlackBerry。 BlackBerry不只可以接聽電話,還擁有收發電子郵件的功能。 陸續推出的智慧型手機HTC、iPhone、G-Mobile…等,使用較大螢幕與簡單的觸控式操作,顛覆了以往小螢幕且礙手的鍵盤輸入之手機印象。 智慧型手機豐富的使用者介面、強大且多功能的作業系統,且隨著科技的進步、越來越多人開放原始碼與提供各種軟體,智慧型手機的提供服務越來越多。
2-1 智慧型行動裝置(3) 參考資料 維基百科。 http://zh.wikipedia.org/wiki/%E6%99%BA%E6%85%A7%E5%9E%8B%E6%89%8B%E6%A9%9F。 HTC官方網站新聞稿。 http://www.htc.com/tw/press/2011.html 。 淺談智慧型手機。 http://www.cc.ntu.edu.tw/chinese/epaper/0008/20090320_8004.htm 。 Apple官方網站。 http://www.apple.com/tw/iphone/compare-iphones/ 。
2-2行動擴增實境(1) 智慧型行動裝置(包含HTC 、iPhone 、iPad…等)在這二、三年十分熱門。 智慧型手機是源於個人數位助理Personal Digital Assistant,PDA。 PDA具有3吋以上觸控式液晶螢幕、軟硬體擴充性與開放性作業系統的掌上型電腦,在過去讓很多人愛不釋手。 後來業者為了擴大市場的規模,因此將個人數位助理結合手機通訊功能,並加以推廣,進而成為目前超夯的智慧型手機市場。 因為智慧型手機功能幾乎等同於小筆電,讓手機與電腦之間的分隔線越來越模糊。智慧型行動裝置並包含平板電腦。 除了桌上型、筆記型電腦外,智慧型行動裝置也逐漸形成第3大勢力。
2-2行動擴增實境(2) 試著想像,有一種手機除了可以讓你透過鏡頭觀看真實的世界,並在所見的真實的世界中出現了原本不存在的有趣物件。 這類「擴增實境」在過去是虛擬小說中才會出現的,現在讓我們帶領你進入手機擴增實境,打造一個現實又虛擬的世界。 常見手機擴增實境(AR)開發套件及其可開發執行的環境: AndAR:Android 。 NyARToolkit:Windows、Android 。 QCAR:Android、iOS 。
2-2-1 AndAR(1) AndAR是運用在Android 平臺的擴增實境技術開發套件。整個套件是根據 GNU 通用公共許可證(GNU General Public License)所發佈。 這意味著,只要認同他們的授權合約,就可以自由地在自己的專案中引入AndAR套件中。 它是一個開放源碼專案,歡迎任何使用者提出程式碼方面的貢獻。
2-2-1 AndAR(2) AndAR官方網站。http://code.google.com/p/andar/。 下圖為AndAR官方網站首頁的畫面。首頁上有五個標籤分別為「Project Home」、「Downloads」、「Wiki」「Issues」、「Source」。定內標籤頁面為「Project Home」,有提供AndAR的由來、AndAR贊助單位、成員、Demo視訊、以及下載…等相關資訊。
2-2-2 NyARToolkit(1) NyARToolkit 是由ARToolKit-2.72.1開發而來的類別庫。可以用來開發擴增實境的應用程式。 在Windows平台上NyARToolkit已開發出支援數種主要程式語言的版本,使用者可選擇適合的開發語言來開發,如:Java / C# / ActionScript3/c + +,並開發出支援開發Android的版本。 NyARToolkit的作者為日本人,所以官方網站是日文版的。 http://nyatla.jp/nyartoolkit/wiki/index.php?FrontPage NyARToolkit的作者,有另外製作英文版官方網站。 http://nyatla.jp/nyartoolkit/wiki/index.php?FrontPage.en 。
2-2-2 NyARToolkit(2) 下圖為NyARToolkit的英文版官方網站畫面。頁面左對各種NyARToolkit所支援的開發程式語言版本做一簡介,及相關用來撰寫程式的工具,如Eclipse等。首頁最下方則公告最新訊息。 首頁右方則為各種選單。
2-2-3 QCAR QCAR SDK是Qualcomm公司開發出來的一套擴增實境(Augmented Reality )開發套件,目前有Android版以及iOS版供開發者免費下載使用。 更多開發內容可以到以下網址瀏覽學習 。 http://developer.qualcomm.com/dev/augmented-reality 。 http://jwill.pixnet.net/blog/post/28287179-qcar-qualcomm-ar- 。
2-3 Android(1) Android(早期是一科幻小說上機器人的名字): 是一種專門為了行動裝置所設計的作業系統,建構在Linux核心(Linux Kernel)之上。 使用者可以透過Android撥打電話、傳送簡訊、收發電子郵件、查看行事曆、上網、玩遊戲、享受影音娛樂。 甚至透過應用程式的下載,達成許多意想不到的創新功能。 Linux是一個相當成熟且穩定的作業系統,無論安全性、多工處理能力甚至軟硬體的支援,都非常優越。 不過Android並不完全相容於傳統Linux系統,例如他沒有X Window系統,也沒有完全支援GNU函式庫,所以無法將所有Linux/GNU的應用程式都移植到Android上。 Android官方網站。http://www.android.com/。
2-3 Android(2) 下圖為Android的官方網站的頁面。下方分為三個部份分別為「Partners」、「Developers」、「Android Market」。
2-3 Android(3) Android是個先進的平台,對於手持裝置開發者來說。平台上所開發的應用程式可相容於各種型號的Android手機,不會因手機型號而造成開發困擾。 Android支援網路、繪圖、3D處理、Google Map,提升更好的使用者體驗。 也可以透過Android Market (Android市場) 可以方便的將自己所開發的Android應用程式銷售給世界各地使用者。 對於使用者來說,只要擁有免費的Google帳戶,就可以在不同廠商,同樣是Android作業系統手機之間轉換資料。容易將連絡簿等個人資料更新至手機平台。
2-3 Android(4) Android手機通常都帶有一套預先安裝的通用應用程式,包括但不限於以下幾種: 電子郵件用戶端。 SMS管理應用程式。 完整的個人資訊管理套件。 基於WwbKit的Wwb瀏覽器。 照相機和視訊錄製應用程式。 計算機。 主螢幕。 鬧鐘。 功能豐富的行動Google Map應用程式。 Android Market用戶端。 Gmail郵件用戶端。 Google Talk即時銷實用戶端。 YouTube視訊播放器。 內建的應用程式儲存和使用的資料也可以被第三方應用程式使用,因此,個人所撰寫的應用程式可以用來處理來電或者新的SMS資訊。 Android手機上的應用程式可能會根據硬體製造商或手機營運商的不同而有所不同。
2-3-1 Android的歷史(1) Android早期是由Andy Rubin所創辦, Andy Rubin有 Android之父之稱。 Google在2005年併購了Android公司,開始了手機等業務,並以Linux的通用平台切入開發。 Google公司在2007年11月5日正式公布了Android作業系統。 Android平台公佈之後,Google緊接著發佈「Android軟體開發工具Software Development Kit, SDK」支援眾多作業系統上(如:Windows、Mac OS X、Linux )的開發,且使用者可以免費下載。 2008年,Patrick Brady,由演講中提出的Android HAL架構圖。可以把Android framework與Linux kernel隔開。 2008年9月24日,T-Mobile 首度公佈第一台 Android 手機(G1)的細節,同日 Google 也釋出了 Andorid SDK 1.0 rc1的開發套件。
2-3-1 Android的歷史(2) 對應用程式開發者而言,1.0 代表了開發者可以放心地使用 API,而不必再擔心 API 有太大的變動。 2008年 10月21日,Open Handset Alliance 公開了全部 Android 的原始碼。從此,開發者擁有了一個完全開放的手機平台。 2009年2月,Google推出Android Market線上應用程式商店,使用者可在線上商店中找尋自己所需要的免費或需付費的軟體,讓Android程式開發者有著另一個賺錢的管道。 2010年2月3日,Linux核心開發者Greg Kroah-Hartman將Android的驅動程式從Linux核心移除,從此,Android與Linux核心不再合一 。 2011年2月2日,發表僅供平板電腦使用的Android 3.0版 。 2011年10月,發表Android 4.0版 。
選擇Android的理由 開放性:建立標準化、開放式的移動軟體平臺。 平等性:所有應用程式皆平等。 無界性:應用程式之間沒有界限。 方便性:開發應用程式非常方便。 硬體豐富性:由於是開放性的平臺,不同的製造商皆可投入支援。
參考資料 維基百科。 Android 。 http://zh.wikipedia.org/wiki/Android。 http://www.kroah.com/log/linux/android-kernel-problems.html 。 吳亞峰、蘇亞光。Android遊戲程式開發範例大全。博碩文化。2011年5月。 Reto Meier著、鍾政欣譯。Android 2.X應用程式開發經典。碁峰。 2011年6月初版。 黃彬華。Android 2.X手機程式開發教戰手冊:體驗最夯最潮的智慧型手機程式開發。碁峰資訊 。2011年。 蓋索林(Gasolin) 。Google! Android手機應用程式設計入門。統一元氣資產管理。2009年。 吳亞峰、索依娜。學會Android 應用開發的18 堂關鍵基礎課程。博碩文化。2011年。
2-3-2 Android的系統架構(1) Android手機系統可分為上下層,上層使用Java編寫應用程式,下層使用C語言編寫系統程式。 上層的Java層又可細分出應用層(Applications)與應用架構層(Application Framework)。 應用層:應用程式均由Java編寫。各應用程式之間完全平等,開發人員可替換內建的Android程式成為自己所設計的應用程式。
2-3-2 Android的系統架構(2) 應用架構層:此層的設計簡化了元件的重複使用。用戶可以任意替換程式的元件,而不會影響其他模組。 應用層包含應用程式如下: 1. Home。 2. 內建應用程式(瀏覽器、聯絡人…等) 。 3. 第三方應用程式。 4. 自行開發應用程式。 應用架構層:此層的設計簡化了元件的重複使用。用戶可以任意替換程式的元件,而不會影響其他模組。 應用層 內建應用程式(瀏覽器、聯絡人…等) Home 第三方應用程式 自行開發應用程式 應用層 內建應用程式(瀏覽器、聯絡人…等) Home 第三方應用程式 自行開發應用程式 應用架構層 活動管理 視窗管理 套件管理 通話管理 內容提供 視圖系統 資源管理 定位管理 通知管理 函式庫 外觀管理 多媒體架構 FreeType WebKit 資料庫管理 繪圖引擊 SSL libc Android 執行 核心函式庫 Dalvik虛擬機器 Linux核心層 顯示驅動 Camera驅動 行程管理 記憶體管理 WiFi驅動 其他硬體驅動程式 電源管理
2-3-2 Android的系統架構(3) 應用架構層主要包含九大部份如下: 1. 活動管理。 2. 視窗管理。 3. 內容提供。 套件管理 通話管理 內容提供 視圖系統 資源管理 定位管理 通知管理 應用架構層主要包含九大部份如下: 1. 活動管理。 2. 視窗管理。 3. 內容提供。 4. 視圖系統。 5. 套件管理。 6. 通話管理。 7. 資源管理。 8. 定位管理。 9. 通知管理。 應用層 內建應用程式(瀏覽器、聯絡人…等) Home 第三方應用程式 自行開發應用程式 應用架構層 活動管理 視窗管理 套件管理 通話管理 內容提供 視圖系統 資源管理 定位管理 通知管理 函式庫 外觀管理 多媒體架構 FreeType WebKit 資料庫管理 繪圖引擊 SSL libc Android 執行 核心函式庫 Dalvik虛擬機器 Linux核心層 顯示驅動 Camera驅動 行程管理 記憶體管理 WiFi驅動 其他硬體驅動程式 電源管理
2-3-2 Android的系統架構(4) 然後下層的系統層也可細分為函式庫層(Libraries)與Linux核心系統層。 以下為函式庫所包含的主要功能: 1. 外觀管理。 2. 多媒體架構。 3. 資料庫管理。 4. 繪圖引擊。 5. FreeType。 6. WebKit。 7. SSL。 8. libc。
2-3-2 Android的系統架構(5) Android執行函式庫:包含核心函式庫以及Dalvik虛擬機器。 整個函式庫層如下圖所示。 外觀管理 多媒體架構 FreeType WebKit 資料庫管理 繪圖引擊 SSL libc Android 執行 核心函式庫 Dalvik虛擬機器 應用層 內建應用程式(瀏覽器、聯絡人…等) Home 第三方應用程式 自行開發應用程式 應用架構層 活動管理 視窗管理 套件管理 通話管理 內容提供 視圖系統 資源管理 定位管理 通知管理 函式庫 外觀管理 多媒體架構 FreeType WebKit 資料庫管理 繪圖引擊 SSL libc Android 執行 核心函式庫 Dalvik虛擬機器 Linux核心層 顯示驅動 Camera驅動 行程管理 記憶體管理 WiFi驅動 其他硬體驅動程式 電源管理
2-3-2 Android的系統架構(6) Android函式庫,此函式庫主要以C/C++而成。Android應用程式開發人員並非直接使用此函式庫,而是透過更上層的Application Framework來使用此函式庫功能。此函式庫又可細分成各種類型的函式庫。 以下列出部份比較重要的函式庫: Media Framework : 播放與錄製功能,支援個檔案類型包括 MPEG4、MP3、H.264、AAC、AMR、JPG、PNG等。 Surface Manager : 管理圖形介面與2D、3D圖層顯示。 WebKit : 內建瀏覽器的引擎。 SGL : 專門處理2D圖形 OpenGL : 嵌入式系統使用的3D圖形函式庫。 SQLite : 關聯式資料庫引擎。
2-3-2 Android的系統架構(7) 在C語言方面結合了WebKit、OpenGL、SQLite、Linux等資源, Java方面則結合Apache函式庫等資源。 再利用Dalvik虛擬機避開了昇陽在Java的專利,因此擁有豐富的開放原始碼應用程式,又避開侵犯智慧財產權。 採用Apache Software License 2.0,讓商業公司可以放心投入Android手機的開發。
2-3-2 Android的系統架構(8) 以下為Linux核心層: 1. 顯示驅動。 2. Camera驅動。 3. WiFi驅動。 行程管理 記憶體管理 WiFi驅動 其他硬體驅動程式 電源管理 以下為Linux核心層: 1. 顯示驅動。 2. Camera驅動。 3. WiFi驅動。 4. 其他硬體驅動。 5. 行程管理。 6. 記憶體管理。 7. 電源管理。 應用層 內建應用程式(瀏覽器、聯絡人…等) Home 第三方應用程式 自行開發應用程式 應用架構層 活動管理 視窗管理 套件管理 通話管理 內容提供 視圖系統 資源管理 定位管理 通知管理 函式庫 外觀管理 多媒體架構 FreeType WebKit 資料庫管理 繪圖引擊 SSL libc Android 執行 核心函式庫 Dalvik虛擬機器 Linux核心層 顯示驅動 Camera驅動 行程管理 記憶體管理 WiFi驅動 其他硬體驅動程式 電源管理
2-3-2 Android的系統架構(9) Android系統的整體架構圖,http://developer.android.com/guide/basics/what-is-android.html。整個Android系統架構可說展現了Google的技術。 應用層 內建應用程式(瀏覽器、聯絡人…等) Home 第三方應用程式 自行開發應用程式 應用架構層 活動管理 視窗管理 套件管理 通話管理 內容提供 視圖系統 資源管理 定位管理 通知管理 函式庫 外觀管理 多媒體架構 FreeType WebKit 資料庫管理 繪圖引擊 SSL libc Android 執行 核心函式庫 Dalvik虛擬機器 Linux核心層 顯示驅動 Camera驅動 行程管理 記憶體管理 WiFi驅動 其他硬體驅動程式 電源管理
參考資料 http://developer.android.com/guide/basics/what-is-android.html 維基百科。 Android 。 http://zh.wikipedia.org/wiki/Android。 初探Android 。 http://code.google.com/p/androidbmi/wiki/IntroAndroid 。 http://www.kroah.com/log/linux/android-kernel-problems.html 。 吳亞峰、蘇亞光。Android遊戲程式開發範例大全。博碩文化。2011年5月。 Reto Meier著、鍾政欣譯。Android 2.X應用程式開發經典。碁峰資訊。 2011年6月初版。 黃彬華。Android 2.X手機程式開發教戰手冊:體驗最夯最潮的智慧型手機程式開發。碁峰資訊 。2011年。 蓋索林(Gasolin) 。Google! Android手機應用程式設計入門。統一元氣資產管理。2009年。 吳亞峰、索依娜。學會Android 應用開發的18 堂關鍵基礎課程。博碩文化。2011年。
2-3-3 Android SDK簡介 Android Emulator: Android Debug Bridge: 用於開發、測試、設計Android的應用程式,屬於PC上使用的Android模擬器 。 Android Debug Bridge: 可讓使用者在Emulator或設備上安裝.apk檔案 。 Android Asset Packaging Tool : 可以建立包含Android應用程式二進位文件和資源文件.apk文件 。 Hierarchy Viewer: 用於除錯和最佳化使用者界面。 Dalvik Debug Monitor Service: 在Emulator或設備上管理Processes以及加快除錯速度。 Traceview: 產生trace log date的圖形分析 。 Android Development Tools Plugin for the Eclipse IDE: 使用於Eclipse IDE上。可以從Eclipse IDE直接使用其它Android開發工具。提供建立新專案的精靈(New Project Wizard),可建立新的Android應用程式。
Android的特徵(1) 發佈過程並不需要許可證才能發佈,發佈時也不需要額外的審核批准過程。 用於電話或者資料運輸的GSM、EDGE和3G網路,允許接打電話或者收發SMS資訊,還允許在行動裝置之間發送或者檢索資料。 提供結合GPS定位服務的有用API(應用程式介面)。 可以存取WI-FI硬體以方便無線上網及連輸。 完全的多媒體裝置控制,包括使用攝影機與麥克風進行重播和錄製。 提供好用的API,以方便使用裝置上的加速計和羅盤等感測器硬體。 提供好用的藍芽技術進行點對點資料傳輸之函式庫。 可透過IPC傳遞訊息。 可儲存共用資料。
Android的特徵(2) 背景應用程式和行程。 主螢幕小元件、Live Folder和Live Wallpaper。 應用程式搜尋結果集成到系統搜尋中的功能。 可運用基於Webkit開放程式碼的HTML5瀏覽器渲染引擎。 完全支援電子地圖控制項,可方便運用到使用者介面中的應用程式。 專為行動裝置進行最佳化的硬體加速圖形處理。 提供播放和錄製各種音訊、視訊或者靜態圖像格式的媒體函式庫。 透過動態資源框架實作本機化。 支援自行開發的應用程式元件取代本機應用程式的應用程式框架。
Android的吉祥物(1) Google有推出代表Android吉祥物,此吉祥物在Android所在的設備上經常會看見。就是眾所周知的綠色圓滑機器人圖樣。 雖然Android一直改版,其開發代號及版本代表圖示一直改變。但此綠色Android吉祥物仍一直維持不變。
Android的吉祥物(2) 除了吉祥物外,Android 自1.5版開始都有一個代號,以表示其大致上的版本,官方網站也提供對應的象徵圖片。 1.5版的代號是Cupcake(Android 1.5 )杯子蛋糕。全部以綠色為主題的機器人之頭形樣式。如下面左圖片所示。 1.6版的代號是Donut (Android 1.6)甜甜圈。以綠色為主題,甜甜圈中的圓圈可看到機器人的頭形樣式。如下面右方圖片所示。
Android的吉祥物(3) 2.0-2.1版的 代號是Éclair(Android 2.0-2.1)閃光泡芙。如下面左方圖片所示,後方是一雙白色機器人,其後是一堆綠色機器人。 2.2版的代號是 Froyo(Android 2.2)冷凍優格。是「Frozen Yogurt」的縮寫。如下面右方圖片所示,綠色機器人也是藏在後面。
Android的吉祥物(4) 2.3版的代號是Gingerbread (Android 2.3)薑餅。很直接就是一個機器人形的薑餅,只有領節是綠色。如下面左方圖片所示,綠色只變成點綴。 3.0版的代號是Honeycomb (Android 3.0)蜂巢。代表圖是一雙圓滑形密蜂。如下面右方圖片所示,綠色主題或背景已經不見了。 最新的4.0版的代號為Ice Cream Sandwich (Android 4.0)冰淇淋三明治。代表圖為一機器人形之巧克力冰淇淋三明治。也不見綠色,只用白色與棕色。 有一個有趣的現象是由1.5版至今的代號,其首字母由英文字母順序剛好為CDEFGHI。
Android開發環境與擴增實境套件安裝 1.下載安裝Java JDK 5以上 2.下載安裝Eclipse 3.在Eclipse上安裝ADT擴充套件 模擬器 5.下載及安裝需要的SDK 4.下載及設定Android SDK 6.在Eclipse上設定AVD模擬器 2. Android NDK安裝 AndAR NyARToolkit 4.實機測試 1. 下載安裝Cygwin 2. 下載安裝Android NDK 3.在Eclipse上安裝CDT擴充套件 1.下載AndARSampleProject.zip 2.解壓縮AndARSampleProject.zip 3.確認.project檔 1.下載安裝NyARToolkit_Android_v3.0.0-1os2.1.zip 2.解壓縮NyARToolkit_Android_v3.0.0-1os2.1.zip 3.進行將NyARToolkit匯入至Eclipse中 1.設定手機除錯模式 2.確認Eclipse已找出手機 3.取消模擬器 QCAR 3.擴增實境套件安裝
2-4 建立Android開發環境 開發Android應用程式並不難,只要有個人電腦,就能下載相關的開發工具,進行Android手機應用程式開發。 因為Google早已為Android應用程式提供了免費並且跨平台的整合開發環境。 Android開發環境所支援作業系統: Windows XP 。 Windows Vista 。 Windows 7 。 Mac OS X 10.4.8 或更高版本。 Linux 。
2-4-1 Android開發環境安裝 Android 開發環境架設,我們需要先行安裝一些執行環境及開發工具。 安裝步驟約略分為6大步驟,流程如下: 1.下載安裝Java JDK 5以上。 2.下載安裝Eclipse。 3.在Eclipse上安裝ADT擴充套件。 4.下載及設定Android SDK。 5.下載及安裝需要的SDK。 6.在Eclipse上設定AVD模擬器。 1.下載安裝Java JDK 5以上 2.下載安裝Eclipse 3.在Eclipse上安裝ADT擴充套件 5.下載及安裝需要的SDK 4.下載及設定Android SDK 6.在Eclipse上設定AVD模擬器
下載安裝Java JDK 5以上(1) 1.下載安裝 Java 開發工具 JDK5 以上(在此我們選用JDK6)。 官方網站。http://java.sun.com。因昇陽公司(Sum)已被Oracle併購,所以該網址會自動跳轉至http://www.oracle.com/technetwork/java/index.html,新的官方網站。 PS.可以在命令提示字元裡輸入java –version 來查看是否已安裝所需的JDK。java version大於1.5表示已安裝1.5 版以上。 1.下載安裝Java JDK 5以上 2.下載安裝Eclipse 3.在Eclipse上安裝ADT擴充套件 5.下載及安裝需要的SDK 4.下載及設定Android SDK 6.在Eclipse上設定AVD模擬器
下載安裝Java JDK 5以上(2) 首頁上方數個功能選單,請選擇「Downloads」的功能選單,之後再選擇Java SE,來㝷找所需要下載的Java JDK版本。 可選擇 Java SE 6 Update 27 JDK,或更新的版本點選「Download」進行下載。如下方圖片所示。 請依照電腦的作業系統選擇適合的版本進行下載,下載前要點選「Accept License Agreement」同意後才能下載。檔案大小超過100MB。下載完成後,請執行並安裝即可。如右方圖片所示。
下載安裝Eclipse(1) 2.下載安裝Eclipse開發工具平台(在此我們選用IDE for Java Developers)。 官方網站。http://www.eclipse.org/。 (可以下載 Ganymede版本、Europa版本、或者Indigo)。檔案大小超過100MB。 PS.下載的版本必需包含Java Development Tool Plugin。 1.下載安裝Java JDK 5以上 2.下載安裝Eclipse 3.在Eclipse上安裝ADT擴充套件 5.下載及安裝需要的SDK 4.下載及設定Android SDK 6.在Eclipse上設定AVD模擬器
下載安裝Eclipse(2) 至達Eclipse官方網站後,上方有功能選單,請選擇「Downloads」,來到下載頁面。 右上方有選擇作業系統的下拉式清單,請選擇適合的作業系統,內定值為「Windows」。 請選擇「Eclipse IDE for Java Developers」,並在右方選擇要安裝的作業系統是32位元還是64位元,以便下載正確的版本進行下載,下載完成後解壓縮即可使用。
在Eclipse上安裝ADT擴充套件 (1) 下載的Ecilpse只是支援Java開發,尚未支援Android開發,因此需在此步驟安裝Eclipse的Android Plugin(ADT)擴充套件,以便開發Android專案。 執行Eclipse開發平台。第一次啟動會需設定預設工作目錄。進入Eclipse後我們來安裝Eclipse的Android Plugin(ADT)。 1.下載安裝Java JDK 5以上 2.下載安裝Eclipse 3.在Eclipse上安裝ADT擴充套件 5.下載及安裝需要的SDK 4.下載及設定Android SDK 6.在Eclipse上設定AVD模擬器
在Eclipse上安裝ADT擴充套件 (2) 安裝Eclipse的Android Plugin,ADT(Android Developement Tool),請在「Eclipse」上方功能選單的右方點選「Help」「 Install New Software…」下載安裝)。如下面左方圖片所示。 會彈出「Install」視窗。 在「Work with」輸入網址http://dl-ssl.google.com/android/eclipse 。此網址若有輸入過則會儲存起來,以方面往後使用下拉式清單來選取。如下面右方圖片所示。 Eclipse會花一點時間搜尋可安裝的ADT套件。
在Eclipse上安裝ADT擴充套件 (3) 選取「Developer Tools」旁邊的核取方塊,然後按「Next」進行安裝,安裝結束後須重新啟動Eclipse。
在Eclipse上安裝ADT擴充套件 (4) 重新啟動Eclipse會要求設定workspace的資料夾,設定好資料夾後,若不想每次執行都要設定,請到左下角將「Use this as the default and do not ask again」選項打鉤。 設定好之後,按下「OK」即可。
下載及設定Android SDK(1) 4.下載及設定 Android SDK。 Eclipse支援Android開發的擴充程式安裝後,還缺Android的軟體開發套件,因此,需要下載及設定。 Android SDK。 官方網站。http://developer.android.com/。 Software Development Kit & Emulator。 1.下載安裝Java JDK 5以上 2.下載安裝Eclipse 3.在Eclipse上安裝ADT擴充套件 5.下載及安裝需要的SDK 4.下載及設定Android SDK 6.在Eclipse上設定AVD模擬器
下載及設定Android SDK(2) 請按下視窗右下角的「Apply」(套用)按鈕。 選擇android-sdk_r12-windows.zip或更新版本,進行下載。如下面圖片所示。 下載完成的Android SDK 檔案需要解壓縮。 開啟「Windows」「Preference」(偏好設定),選擇左側「Android」標籤(已安裝好ADT 擴充套件才會出現)。 在 SDK Location欄位按下「Browse...」鍵,選擇Android解壓縮後的資料夾。 請按下視窗右下角的「Apply」(套用)按鈕。 如此已設定好,讓Eclipse在編譯時能夠找到Android SDK。
下載及安裝需要的SDK(1) 5.下載及安裝需要的SDK。 若要用的SDK版本沒安裝或者要更新版本,則需要此步驟。 A.可執行Android SDK中的SDK Manager.exe來安裝或更新SDK。 B.或者透過Eclipse中的「Window」「Android SDK and AVD Manager」來安裝或更新SDK。 1.下載安裝Java JDK 5以上 2.下載安裝Eclipse 3.在Eclipse上安裝ADT擴充套件 5.下載及安裝需要的SDK 4.下載及設定Android SDK 6.在Eclipse上設定AVD模擬器
下載及安裝需要的SDK(2) A. 使用SDK Manager.exe。 當我們安裝好ADT及Android SDK後執行Android SDK解壓縮資料夾裡的SDK Manager.exe。 SDK Manager會自己搜尋目前可安裝使用的SDK與模擬器版本,選擇所需的SDK與模擬器安裝即可。 搜尋目前可安裝使用的SDK。如下面左方圖片所示。 搜尋完後會出現「Choose Package to Install」畫面。挑選所要的SDK後,點擊「Install」安裝。如下面右方圖片所示。
下載及安裝需要的SDK(3) 下面左方圖片是下載及安裝Android SDK的視窗畫面。 下面右方圖片更新完Android SDK會要求重新啟動ADB的畫面。請按「Yes」。
下載及安裝需要的SDK(4) 安裝完並會要求,使用者關閉「Android SDK and AVD manager」。按下「OK」如下面左方圖片中所示。 並將「Android SDK and AVD manager」視窗關閉後再重開即完成。 必要時需在「Eclipse」「Help」「Install New Software…」更新模擬器版本。 B.使用Eclipse上方功能表中的「Window」「Android SDK and AVD Manager」選項。 直接在Eclipse的在選單上選擇「Window」「Android SDK and AVD Manager」選項,開啟Android SDK及AVD 管理工具。如下面右方圖片所示。
下載及安裝需要的SDK(5) 切換到「Installed Packages」標籤頁,「Installed Packages」列表中,看預設列表是否有我們所需要的SDK,若沒有需要的SDK需先自行安裝對應的SDK 組件。
下載及安裝需要的SDK(6) 切換到「Available Packages」標籤頁,點選預設的網址,可以看到目前可用的SDK、Add-On等。 鉤選所要的SDK、Add-On等,然後按下「Install Selected」按鈕即可。如下面左方圖片所示。 確認剛才所勾選的 SDK 組件。勾選「Accept」或「Accept All」後,按下「Install」即開始自動下載並安裝。如下面右方圖片所示。
下載及安裝需要的SDK(7) 下面左方圖片是下載及安裝Android SDK的視窗畫面。 下面右方圖片是更新完Android SDK會要求重新啟動ADB的畫面。請按「Yes」。
下載及安裝需要的SDK(8) 安裝完並會要求,使用者關閉「Android SDK and AVD manager」。按下「OK」, 「Android SDK and AVD manager」。相關視窗關閉即完成。如下面左方圖片所示。 必要時需在「Eclipse」「Help」「Install New Software…」更新模擬器版本。 安裝完後,切換到「Installed Packages」標籤頁,可以看到所勾選的 SDK組件都已經安裝了。如下面右方圖片所示。
在Eclipse上設定AVD模擬器(1) 6.在Eclipse上設定AVD模擬器。 當Android SDK安裝結束後,若沒有實體手機,則需要在個人電腦上用模擬器看看程式執行結果。因此,我們需要讓Eclipse使用我們所安裝好的模擬器。所以,需要設定AVD模擬器。 1.下載安裝Java JDK 5以上 2.下載安裝Eclipse 3.在Eclipse上安裝ADT擴充套件 5.下載及安裝需要的SDK 4.下載及設定Android SDK 6.在Eclipse上設定AVD模擬器
在Eclipse上設定AVD模擬器(2) 在「Eclipse」的上方功能選單中點選「Window」 「Preferences」偏好設定。如下面左方圖片所示。 請按下左側「Android」標籤,右方有的「SDK Location」,可以選擇你所安裝的Android SDK目錄,再按下「Apply」套用即可。如下面右方圖片所示。
在Eclipse上設定AVD模擬器(3) 設定好之後就會出現已安裝的各項SDK與模擬器版本。 Ps. Android SDK不可安裝在中文路徑。 Ps.需安裝好ADT才可進行Android SDK安裝。 設定Eclipse調用Android 模擬器的組態。 Android SDK提供Android模擬器(Android Virtual Device, AVD, emulator),在無實體設備時,應該在撰寫程式前,先建立Android模擬器。步驟如下: 「Eclipse」「Window」「Android SDK and AVD Manager」「New」即可建立模擬器。輸入自訂的名稱,選擇所要使用的版本。 右方圖片為在功能表中點選「Android SDK and AVD Manager」的圖示。
在Eclipse上設定AVD模擬器(4) 「Create New Android Virtual Device (AVD)」視窗畫面。可建立模擬器的名稱、執行版本、設定SD Card支援及設定所要支援的硬體。 如右方圖片所示。
在Eclipse上設定AVD模擬器(5) 「Create New Android Virtual Device (AVD)」視窗中,較重要的部份為: Name:本次設定組態的命名。 Target:所要模擬執行的SDK版本。 SD Card:模擬SD卡及設定大小。 Skin:模擬器所要呈現的畫面大小。 Handware:若要使用手機模擬各種功能需在「Create New Android Virtual Device (AVD)」視窗下方的「Hardware」「New」新增各種功能,例如:camera與gps等。 PS.雖然這裡有camera選項,但只是讓模擬器有一個無作用的空camera,並無法用模擬器使用camera的一般功能也無法操控電腦上的Webcam。
2-4-2 建立、執行專案(1) 建立專案的步驟如下: 在「Eclipse」上方的功能表中,選擇「File」「New」「Android Project」。下面左方圖片為功能選單上的畫面。 在「New Android Project」視窗中,填寫專案名稱、程式執行的Android版本、應用程式名稱…等相關欄位,之後點擊「完成」,如下面右方圖片所示。之後即創建好我們的Android第一個程式 。
2-4-2 建立、執行專案(2) 在「New Android Project」視窗中較重要的部份為: Project name:設定專案名稱。 Contents:設定新專案或匯入專案。 Build Target:設定專案的SDK版本。 Properties:設定專案內程式的各部份名稱。 Application name:應用程式名稱。 Package name :程式套件名稱。至少需要2層的名稱。 Create activity :預設要啟動的Activity名稱。 Min SDK version:最低的Android執行版本。
2-4-2 建立、執行專案(3) 再按「Run」執行編譯。 模擬器執行專案的步驟如下: 在「Eclipse」上方的功能表中點選「Run」 「Run Configurations…」。如下面左方圖片所示。 展開左邊「Android Application」選項,選擇Android應用程式要執行時的編譯組態。如下面右方圖片所示。 再按「Run」執行編譯。
2-4-2 建立、執行專案(4) 若找不到組態,或找不到合適的組態。選擇左上角的圖示「New launch configuration」建立新的組態。 右邊「Android」標籤中的「Project」欄位,需輸入哪一個專案會用到此組態。如下面左方圖片中的「Android」標籤中之「Project」 欄位尚未輸入資料。 並在右邊「Target」標籤中的下方選擇,所要執行的Android版本。按下「Apply」套用。如下面右方圖片所示。 設定好按「Run」執行編譯。
2-4-2 建立、執行專案(5) 叫出模擬器執行時的畫面,左上角有模擬器執行編號及版本。啟動執行模擬器需要花一些時間,請耐心等待。如下面左方圖片所示。 模擬器執行完會出現該Android版本的初始畫面,如下面右方圖片所示。將左下角的鎖用滑鼠拖曳到右邊即可解鎖進入Android程式畫面。
2-4-2 建立、執行專案(7) 執行後會呈現「Hello World, TestActivity!」字樣的簡單畫面,是預設專案所呈現的畫面。
2-4-3 移除、匯入專案(1) 要在Eclipse中移除Android專案,需要如下步驟: 對著專案按滑鼠右鍵選擇「 Delete 」。執行畫面如下面左方圖片所示。 會彈出「 Delete Resources」視窗,如果不勾選「Delete project contents on disk(cannot be undone)」,代表只會將該專案自Eclipse移除,但不會刪除所屬檔案。若勾選的話則除了專案外,連原始程長碼檔也會一併刪除,檔案將無法復原。執行畫面如下面右方圖片所示。
2-4-3 移除、匯入專案(2) 如果專案目錄內已經含有「.project」專案檔,我們可以使用Eclipse徑行匯入。如下面左方圖片有找到「.project」專案檔。 匯入專案的步驟:點選「Eclipse 」上方功能選單的「 File」「 Import」。如下面右圖片所示。
2-4-3 移除、匯入專案(3) 雙擊「Existing Projects into Workspace」 ,將現有的專案匯入至工作區。 或者點選「Existing Projects into Workspace」按「Next > 」,將現有的專案匯入至工作區。如下面左方圖片所示。 按「Browse」指定舊有的專案路徑,然後按「Finish」完成。匯入完成便會在「Eclipse」中看到所匯入的專案。如下面右方圖片所示。
2-4-4 Android NDK(1) 要得知Native Development Tools提供了哪些資源,我們可以到官方網站去瞧瞧。 基本上Android應用程式是使用Java語言與Android SDK去編寫。 為因應廣大C/C++程式設計人員的開發需求,於是便有Android NDK的釋出。 如果我們今天安裝了「Native Development Tools (NDK)」,那我們部分程式碼就可以使用「C」或者「C++」來編寫。 NDK是透過JNI(Java Native Interface)來呼叫底程的C。 要得知Native Development Tools提供了哪些資源,我們可以到官方網站去瞧瞧。 官方網站網址。http://developer.android.com/sdk/ndk/index.html。
2-4-4 Android NDK(2) 在Java JDK、Eclipse、及Android ADT套件已裝好之下,NDK安裝步驟還需要6個步驟。 1. 下載及設定Android SDK 。 2. 下載及安裝需要的SDK 。 3. 在Eclipse上設定AVD模擬器。 4. 下載安裝Cygwin。 5. 下載安裝NDK 。 6. 在Eclipse上安裝CDT擴充套件。 第1步驟至第3步驟與一般之前所介紹的Android環境之安裝相同,不再介紹。 1.下載及設定Android SDK 2.下載及安裝需要的SDK 3.在Eclipse上設定AVD模擬器 5.下載安裝Android NDK 4.下載安裝Cygwin 6.在Eclipse上安裝CDT擴充套件
下載安裝Cgywin(1) 4.下載安裝Cgywin。 Java JDK、Eclipse、及Android ADT套件安裝完之後,下一步需下載及安裝Cygwin。 我們先到Cgywin官方網站去下載Cgywin。 官方網站網址。 http://www.cygwin.com/。 1.下載及設定Android SDK 2.下載及安裝需要的SDK 3.在Eclipse上設定AVD模擬器 5.下載安裝Android NDK 4.下載安裝Cygwin 6.在Eclipse上安裝CDT擴充套件
下載安裝Cgywin(2) 下方圖片為官方網站首頁。左邊是功能選單。右邊則是Cygwin的介紹。 Cygwin提供Windows作業系統一個看起來及感覺像Linux環境的一組工具。 Cygwin並無法讓原生Linux應用程式,直接在Windows作業系統下執行的能力。
下載安裝Cgywin(3) 點選左上角的「Install Cygwin」以便進入安裝及更新頁面進行下載。要點擊的地方如下面左方圖片所示。 來到安裝及更新頁面後,點選網頁中的「Setup.exe」進行下載。如下面右方圖片所示。
下載安裝Cgywin(4) 此為檔案下載時的畫面。在此畫面,可點選「儲存(S)」下載至硬碟後再執行安裝。或者點選 「執行(R)」下載之後會直接執行。
下載安裝Cgywin(5) 會出現下面左方圖片,此為安裝時的初始畫面。「Cygwin」安裝程式會帶領使用者完成安裝步驟。請在「Cygwin Setup」視窗中,點選「下一步」。 出現下面右方圖片時,是要選擇直接下載安裝、下載不安裝、安裝已下載的程式。請選擇「Install from Internet」,由網路直接下載安裝,然後點選「下一步」。
下載安裝Cgywin(6) 此為選擇安裝路徑畫面。預設資料夾路徑為「磁碟機代號:\cygwin」我們可以從「Browse」按鈕中變更要存放的路徑位置,並從「Install For」中選擇可以使用「Cgywin」的使用者範圍,然後點選「下一步(N)」。
下載安裝Cgywin(7) 下面左方圖片則是選擇安裝或更新時所要儲存的安裝檔路徑。可點選右邊的「Browser」按鈕變更路徑。之後請直接點選「下一步(N)」。若資料夾不存在會幫使用者建立。 下面右方圖片則是選擇網路連線類型。若不知道是否有使用proxy連線,請選擇「Direct connection」然後點選「下一步(N)」。
下載安裝Cgywin(8) 再來是選擇所要下載的網站。在下面左方圖片中,隨便選擇一個下載網址(選擇的網址連線速度不要太差即可),然後點選「下一步(N)」。 下面右方圖片是從伺服器端取得相關資料的畫面。顯示下載速度及下載進度。下載完成後此畫面會自動消失。
下載安裝Cgywin(9) 取得相關資料後便會彈出,下面左方圖片的「Select packages」視窗,供我們選擇所要安裝的軟體套件。 若想使用「Android NDT」就必須安裝「Cygwin」的「Gcc」及「Make」 ,所以我們選擇「Devel」進行安裝。如下面右方圖片所示。
下載安裝Cgywin(10) 下面左方圖片顯示下載速度及下載進度。下載完成後此畫面會自動消失。 下面右方圖片,則是,安裝完成畫面。可選擇是否在桌面或開始功能表建立一個捷徑圖示。
下載安裝Cgywin(11) 當我們安裝完成之後,首要步驟就是檢查「Gcc」及「Make」的功能是否可運作。 請執行「Cygwin」會跳出類似Dos的命令列視窗。如下面左方圖片所示。 輸入指令「Make –v」若有安裝的話則會出現下面右方圖片的畫面。會顯示出「GNU Make」的版本資訊。表示已有「Make」的功能。
下載安裝Cgywin(12) 輸入指令「Gcc -v」若有安裝的話則會出現以下畫面。並在最後一行顯示「gcc」的版本資訊。表示「Gcc」已順利安裝。
Android NDK的安裝(1) 5.下載安裝NDK。 Cygwin安裝完後便可以下載及安裝Android NDK。 接下來我們要進行「Android NDK」的安裝,首先我們到官方網站的SDK底下的NDK頁面。http://developer.android.com/sdk/ndk/index.html 。 Android NDK是被設計只能透過Android SDK連結,因此需安裝設定好Android SDK後才有作用。 1.下載及設定Android SDK 2.下載及安裝需要的SDK 3.在Eclipse上設定AVD模擬器 5.下載安裝Android NDK 4.下載安裝Cygwin 6.在Eclipse上安裝CDT擴充套件
Android NDK的安裝(2) 請依作業系統選擇下載最新版本的「NDK」。 在頁面中表示Android NDK提供標頭檔及函式庫支援使用C / C++來撰寫程式。程式最後仍被封裝為「.apk」並且執行在虛擬機器上。使用原生碼撰寫並不會自動提升執行效能,但會增加程式複雜度。 請依作業系統選擇下載最新版本的「NDK」。
Android NDK的安裝(3) 將所下載下來的「NDK」壓縮檔,解壓縮至「Cygwin」資料夾。如右方上面圖片所示。 接下來我們到「cygwin」資料夾「home」資料夾「User」資料夾找到「.bash_profile」檔案。如右方下面圖片所示。
Android NDK的安裝(4) 再這裡建議使用「EditPlus 」或其他純文字編輯器將其打開。如右方上面圖片所示。 打開後會出現此檔案的內容,如右方下面圖片所示。
Android NDK的安裝(5) 我們在「.bash_profile」檔案最後面加上以下四行並儲存。 PATH = /android-ndk-r6b : $ { PATH } NDK_ROOT = /android-ndk-r6b NDK_Sample = /android-ndk-r6b/samples export PATH NDK_ROOT NDK_Sample
Android NDK的安裝(6) 再次執行「Cygwin」輸入指令「cd /android-ndk-r6b/samples/hello-jni/」將目前所在的資料夾切換到「/android-ndk-r6b/samples/hello-jni/」目錄下 。 輸入指令「ndk-build」若出現「Gdbserver」 、 「Gdbsetup」 、 「Compile thumb」 、 「ShareLibrary」 、 「Install」等資訊的畫面則代表「Android NDK」正常運作中。
在Eclipse上安裝 CDT 擴充套件(1) 6.在Eclipse上安裝CDT(C/C++ Development Tool)擴充套件。 當然要在「Eclipse」中安裝,請先執行「Eclipse」。 1.下載及設定Android SDK 2.下載及安裝需要的SDK 3.在Eclipse上設定AVD模擬器 5.下載安裝Android NDK 4.下載安裝Cygwin 6.在Eclipse上安裝CDT擴充套件
在Eclipse上安裝 CDT 擴充套件(2) 在「Eclipse」上方的功能選單中選擇「Help」 「Install New Software …」。 下面左方圖片是該選項在功能表單上的位置。 在安裝新軟體的視窗中,在「Work with」輸入URL。「http://download.eclipse.org/tools/cdt/releases/galileo」。或點選其下拉式清單,選擇適合的網址下載。 輸入正確的網址才會連結並檢查所需要的CDT擴充套件。也可使用「Work with:」下拉式清單(點選右方的V符號即可),會將內建的所有網址秀出,選出正確的一個網址,都沒有的話就要自行輸入網址。
在Eclipse上安裝 CDT 擴充套件(3) 點選最上層的CDT相關項目,會將「CDT」全選,並選擇確認安裝。 在視窗的下面選擇「Next >」繼續安裝。
在Eclipse上安裝 CDT 擴充套件(4) 在下面左方圖片的視窗中,勾選「I accept the terms of the license agreements」同意安裝。後按下方的「Finish」按鈕。 「Eclipse」就會開始自動安裝「CDT」了。安裝時的畫面如下面右方圖片所示。
建立及執行Hello-jni範例專案 在此以「Android NDK」內建的簡單範例「hello-jni」為例。 開啟「Android NDK」所提供的範例「hello-jni」。資料夾路徑位在「 Android NDK 」安裝資料夾的samples資料夾中。
設定使用C語言編譯(1) 對著專案按下滑鼠「右鍵」「Properties」進入專案屬性設定視窗。功能表的點擊如下面左方圖片所示。 在專案屬性設定視窗中,點選左方的「Builders」項目,並在右方點擊「New」,新增一個「Program」。
設定使用C語言編譯(2) 根據下圖與「Cygwin」目錄位置,在「Main」標籤中填入以下資訊。 Location。 Working Directory。 Arguments。
設定使用C語言編譯(3) 切換至「Refresh」標籤,並且將「Refresh resources upon completion 」與「 Specific resources 」打勾。如下面左方圖片所示。 點選「 Specific resources」右邊的「Specify Resource …」將 「 hello-jni」下的「 libs 」路徑打勾。如下面右方圖片所示。
設定使用C語言編譯(4) 切換至「Build Options」標籤,將「Allocate Console」 「Launch in background」「After a “Clean”」「During manual builds」「During auto builds」「Specify working set of relevant resources」打勾。
設定使用C語言編譯(5) 點選「Specify working set of relevant resources」右邊的「Specify Resources …」。出現下面左方圖片畫面後將「hello-jni」下的「 jni 」路徑打勾。 完成後我們可以在「Console」裡看到「hello-jni」被重新編譯過。如下面右方圖片所示。
執行Hello-jni專案 編譯完成後我們執行模擬器,點選「Eclipse 」上方功能選單的「Run」「Run As」 「Android Application」。 或者直接在該專案上,按滑鼠右鍵再選擇「Run As」 「Android Application」。如下面左方圖片所示。 叫出模擬器執行時的畫面,左上角有模擬器執行編號及版本。啟動執行模擬器需要花一些時間,請耐心等待。 模擬器執行完會出現該Android版本的初始畫面,將左下角的鎖用滑鼠拖曳到右邊即可解鎖進入Android程式畫面。 此時,可以看到我們成功的使用「NDK」編譯「hello-jni」在模擬器上了。如下面右方圖片所示。
2-5 Android 擴增實境 之前介紹過AndAR、NyARToolkit、與QCAR 適用於Android手機的三種擴增實境開發套件,以下介紹此三種開發套件的安裝方式。 現在就讓我們帶領大家,來安裝擴增實境開發套件。以準備設計一個既不是現實也不是虛擬的世界。
2-5-1 AndAR安裝(1) AndAR的安裝流程分為以下三個步驟。 1.下載AndARSampleProject.zip
2-5-1 AndAR安裝(2) 1.下載AndARSampleProject.zip 網址為http://code.google.com/p/andar/ 。 右方圖片為官方網站的首頁。 1.下載AndARSampleProject.zip 2.解壓縮AndARSampleProject.zip 3.確認.project檔
2-5-1 AndAR安裝(3) 在「Downloads」標籤頁面中,可看到AndARSampleProject.zip檔案,如下面左方圖片所示,請按右鍵下載。
2-5-1 AndAR安裝(4) 2.解壓縮AndARSampleProject.zip。 下載下來後,我們對其壓縮檔進行解壓縮的動作。
2-5-1 AndAR安裝(5) 3.確認.project檔。 確認AndARSampleProject資料夾內含有Import所需的.project檔。 1.下載AndARSampleProject.zip 2.解壓縮AndARSampleProject.zip 3.確認.project檔
2-5-1 AndAR安裝(6) 找到「.project」檔,便可以進行將專案匯入的動作。 在「Eclipse」上方的功能選單中選擇「File」「Import」 進行Andar匯入的動作,匯入完成便會看到CustomActivity專案。
3.進行將NyARToolkit匯入至Eclipse中 1.下載安裝NyARToolkit_Android_v3.0.0-1os2.1.zip。 2.解壓縮NyARToolkit_Android_v3.0.0-1os2.1.zip。 3.進行將NyARToolkit匯入至Eclipse中。 1.下載安裝NyARToolkit_Android_v3.0.0-1os2.1.zip 2.解壓縮NyARToolkit_Android_v3.0.0-1os2.1.zip 3.進行將NyARToolkit匯入至Eclipse中
3.進行將NyARToolkit匯入至Eclipse中 1.下載安裝NyARToolkit_Android_v3.0.0-1os2.1.zip。 先至NyARToolkit官方網站的英文版。http://nyatla.jp/nyartoolkit/wiki/index.php?FrontPage.en 。 1.下載安裝NyARToolkit_Android_v3.0.0-1os2.1.zip 2.解壓縮NyARToolkit_Android_v3.0.0-1os2.1.zip 3.進行將NyARToolkit匯入至Eclipse中
2-5-2 NyARToolkit安裝(3) 到右邊Menu上選擇「Download(Sorceforge)」下載官方所提供的NyARToolkit_Android_v3.0.0-1os2.1.zip。 網址為:http://en.sourceforge.jp/projects/nyartoolkit-and/releases/?package_id=12093 。
3.進行將NyARToolkit匯入至Eclipse中 2.解壓縮NyARToolkit_Android_v3.0.0-1os2.1.zip。 同樣的下載下來之後,我們對其壓縮檔進行解壓縮的動作。如下面圖片所示,解壓縮到資料夾「NyARToolkit_Android_v3.0.0-1os2.1」。 1.下載安裝NyARToolkit_Android_v3.0.0-1os2.1.zip 2.解壓縮NyARToolkit_Android_v3.0.0-1os2.1.zip 3.進行將NyARToolkit匯入至Eclipse中
3.進行將NyARToolkit匯入至Eclipse中 解壓縮完,便可將此NyARToolkit專案匯入至Eclipse中。請點選使用「Eclipse」「File」「Import」進行NyARToolkit匯入的動作。 匯入完成便會看到NyARToolkitAndroidActivity專案。如下面右方圖片所示。 1.下載安裝NyARToolkit_Android_v3.0.0-1os2.1.zip 2.解壓縮NyARToolkit_Android_v3.0.0-1os2.1.zip 3.進行將NyARToolkit匯入至Eclipse中
2-5-3 QCAR安裝(1) 下面左方圖片為註冊畫面。 要安裝使用QCAR前需先安裝Android NDK。 再到「Qualcomm 」官方網站進行註冊,並下載安裝QCAR SDK。https://ar.qualcomm.at/qdevnet/user/register 。 下面左方圖片為註冊畫面。 再到下載頁面進行下載QCAR SDK 。 如下面右方圖片為下載頁面。
2-5-3 QCAR安裝(2) 下載完成後,選擇「執行(R)」來安裝,如下方左圖所示。 執行後,我們可以看到「InstallAnywhere」程式正在為安裝「QCAR」做準備。如下方右圖所示,顯示百分比達到100%會自動關閉此視窗,進行下一步安裝。
2-5-3 QCAR安裝(3) 下方左圖為下一個視窗畫面,上方文字是為歡迎使用者安裝Quatcomm AR(QCAR)SDK,並說明安裝後將會得到一個全新的視覺AR體驗。選擇「Next」進行下一安裝步驟,或選擇「Previous」回到上一步驟 。 下方右圖的視窗畫面是請使用者選擇要安裝的路徑,選好路徑然後點選「Next」進行下一步。
2-5-3 QCAR安裝(4) 詳細閱讀「授權同意書」並選擇「I accept the terms of the License Agreenent」後按「Next」進行下一步。如下面左方圖片所示。 再來則是下面右方圖片畫面,有QCAR版本及安裝路徑的資訊。請選擇「Install」進行安裝。
2-5-3 QCAR安裝(5) 下圖左方的視窗,請繼續等待QCAR的安裝,若後悔的話請點選左下角的「Cancel」按鈕放棄安裝。 安裝後會出現恭喜安裝完成的視窗畫面,並顯示出所安裝的路徑所在,請點選「Done」完成安裝步驟。
2-5-4 AR範例實機測試 AR範例的實機測試,在此使用QCAR之範例。 依我們所安裝的路徑找到「QCAR」開發套件。如下面左方圖片,是為我們所安裝的「QCAR」開發套件安裝路徑所在。 在「Eclipse」上方的功能選單中,選擇「File」「New」「Project …」「Android Project」,隨機挑選一個範例載入「Eclipse」(在這裡我們挑選「FrameMarkers」) 。再點擊「Next >」 或「Finish」。
執行FrameMarkers範例 (1) 設定「FrameMarkers」C編譯部分。
執行FrameMarkers範例 (2) 設定「FrameMarkers」C編譯部分。
執行FrameMarkers範例 (3) 設定「FrameMarkers」C編譯部分。
手機設定(1) 模擬器並不支援Camera的模擬,需要用到Camera的設備時,需使用實機測試。 在使用模擬器不支援的硬體功能時,需使用實機做測試。 模擬器並不支援Camera的模擬,需要用到Camera的設備時,需使用實機測試。 第一次要將Android程式放上手機上時要做一些設定,以免無法將程式載入到手機上執行。 此時需要改變的相關設定,分成三部份其流程如下: 1.設定手機除錯模式。 2.確認Eclipse已找出手機。 3.取消模擬器。 1.設定手機除錯模式 2.確認Eclipse已找出手機 3.取消模擬器
手機設定(1) 1.設定手機除錯模式。 下面左方圖片為手機首頁。點選「設定」進入設定畫面,並選擇「應用程式」。 1.設定手機除錯模式 2.確認Eclipse已找出手機 3.取消模擬器
手機設定(2) 點選「開發」設定應用程式開發的選項。畫面如下面左方圖片所示。 將「USB除錯中」USB連線時進入除錯模式「勾選」。畫面如下面右方圖片所示。
手機設定(3) 2.確認Eclipse已找出手機。 將「 Android 」實機使用「 USB 」連接到「 PC 」 ,並且打開「 Eclipse 」的「 DDMS 」畫面,我們可以看到已經搜索到我們的手機「HT18HV8A0012」。 至此手機上的設定已完成,再來就要在手機上執行自行設計的應用程式。 1.設定手機除錯模式 2.確認Eclipse已找出手機 3.取消模擬器
手機設定(4) 3.取消模擬器。 在「Eclipse」上方的功能選單上,選擇 「 Run」 「 Debug Configurations …」,要將原本的使用模擬器來執行的設定取消。如下面圖片所示。 1.設定手機除錯模式 2.確認Eclipse已找出手機 3.取消模擬器
AR範例執行(1) 再來就開始使用實機測試。 執行時會先進入QCAR畫面。如下面左方圖片所示。 實機測試QCAR的AR功能畫面1。如下面右方圖片所示。
AR範例執行(2) 實機測試QCAR的AR功能畫面2。
AR範例執行(3) 實機測試QCAR的AR功能畫面3。
AR範例執行(4) 實機測試QCAR的AR功能畫面4。
AR範例執行(5) 實機測試QCAR的AR功能畫面5。
AR範例執行(6) 實機測試QCAR的AR功能畫面6。
AR範例執行(7) 實機測試QCAR的AR功能畫面7。
本章重點回顧(1) 智慧型行動裝置的種類包含智慧型手機以及平板電腦。 BlackBerry黑莓機為第一台較有發展潛力的智慧型手機。 智慧型行動裝置是源於個人數位助理(Personal Digital Assistant,PDA)。 常見智慧型行動裝置擴增實境免費開發套件有AndAR、NyARToolkit以及QCAR…等。 AndAR是運用在Android平臺的擴增實境技術開發套件。 NyARToolkit是一套基於ARToolKit所發展的Java函式庫,並提供Java、C#、Android等版本支援之虛擬工作平台,可讓使用者在各種平台亦或是於智慧型手機上開發擴增實境應用程式。 QCAR是Qualcomm發展出來的擴增實境開發工具,並提供Android版以及iOS版供開發者免費下載使用。
本章重點回顧(2) Android是一種專門為了行動裝置所設計的作業系統,建構在Linux核心(Linux Kernel)之上,但與Linux並不完全相容。 只要擁有免費的Google帳戶,就可以在不同廠商,同樣是Android作業系統手機之間轉換資料。 Android早期是由Andy Rubin所創辦,Google在2005年併購了Android公司,開始了手機等業務,並以Linux的通用平台切入開發。 Google公司在2007年11月5日正式公布了Android作業系統。 2011年2月2日,發表僅供平板電腦使用的Android 3.0版 。 2011年10月,發表Android 4.0版 。 選擇Android的理由: 開放性。 平等性。 無界性。 方便性。 Android手機系統可分為上下層,上層使用Java編寫應用程式,下層使用C語言編寫系統程式。 上層的Java層又可細分出應用層(Applications)與應用架構層(Application Framework)。 應用層 內建應用程式(瀏覽器、聯絡人…等) Home 第三方應用程式 自行開發應用程式
本章重點回顧(3) 然後下層的系統層也可細分為函式庫層(Libraries)與Linux核心系統層。 應用架構層 函式庫 活動管理 視窗管理 套件管理 通話管理 內容提供 視圖系統 資源管理 定位管理 通知管理 然後下層的系統層也可細分為函式庫層(Libraries)與Linux核心系統層。 函式庫 外觀管理 多媒體架構 FreeType WebKit 資料庫管理 繪圖引擊 SSL libc Android 執行 核心函式庫 Dalvik虛擬機器
本章重點回顧(4) Android函式庫,此函式庫主要以C/C++而成。Android應用程式開發人員並非直接使用此函式庫,而是透過更上層的Application Framework來使用此函式庫功能。此函式庫又可細分成各種類型的函式庫。 下圖為Linux核心系統層: Linux核心層 顯示驅動 Camera驅動 行程管理 記憶體管理 WiFi驅動 其他硬體驅動程式 電源管理
本章重點回顧(5) Android系統的整體架構圖。 應用層 Home 第三方應用程式 自行開發應用程式 應用架構層 活動管理 視窗管理 內建應用程式(瀏覽器、聯絡人…等) Home 第三方應用程式 自行開發應用程式 應用架構層 活動管理 視窗管理 套件管理 通話管理 內容提供 視圖系統 資源管理 定位管理 通知管理 函式庫 外觀管理 多媒體架構 FreeType WebKit 資料庫管理 繪圖引擊 SSL libc Android 執行 核心函式庫 Dalvik虛擬機器 Linux核心層 顯示驅動 Camera驅動 行程管理 記憶體管理 WiFi驅動 其他硬體驅動程式 電源管理
本章重點回顧(6) 除了綠色機器人之吉祥物外,Android 自1.5版開始都有一個代號,以表示其大致上的版本,官方網站也提供對應的象徵圖片。 1.5版的代號是Cupcake(Android 1.5 )杯子蛋糕。 1.6版的代號是Donut (Android 1.6)甜甜圈。 2.0-2.1版的 代號是Éclair(Android 2.0-2.1)閃光泡芙。 2.2版的代號是 Froyo(Android 2.2)冷凍優格。 2.3版的代號是Gingerbread (Android 2.3)薑餅。很直接就是一個機器人形的薑餅,只有領節是綠色。如下面左方圖片所示,綠色只變成點綴。 3.0版的代號是Honeycomb (Android 3.0)蜂巢。 4.0版的代號為Ice Cream Sandwich (Android 4.0)冰淇淋三明治。 有一個有趣的現象是由1.5版至今的代號,其首字母由英文字母順序剛好為CDEFGHI。
3.進行將NyARToolkit匯入至Eclipse中 本章重點回顧(7) Android開發環境與擴增實境套件安裝流程圖如下: 1.Android開發環境安裝 1.下載安裝Java JDK 5以上 2.下載安裝Eclipse 3.在Eclipse上安裝ADT擴充套件 模擬器 5.下載及安裝需要的SDK 4.下載及設定Android SDK 6.在Eclipse上設定AVD模擬器 2. Android NDK安裝 AndAR NyARToolkit 4.實機測試 1. 下載安裝Cygwin 2. 下載安裝Android NDK 3.在Eclipse上安裝CDT擴充套件 1.下載AndARSampleProject.zip 2.解壓縮AndARSampleProject.zip 3.確認.project檔 1.下載安裝NyARToolkit_Android_v3.0.0-1os2.1.zip 2.解壓縮NyARToolkit_Android_v3.0.0-1os2.1.zip 3.進行將NyARToolkit匯入至Eclipse中 1.設定手機除錯模式 2.確認Eclipse已找出手機 3.取消模擬器 QCAR 3.擴增實境套件安裝
本章重點回顧(8) Android開發環境是由Java JDK、Eclipse、ADT擴充套件以及Android SDK所構成。 6.在Eclipse上設定AVD模擬器
本章重點回顧(9) 如果安裝了「Native Development Tools (NDK)」,那Android部分程式碼就可以使用「C」或者「C++」來編寫。 NDK是透過JNI(Java Native Interface)來呼叫底程的C。 在Java JDK、Eclipse、及Android ADT套件已裝好之下,NDK安裝步驟還需要6個步驟,流程圖如下。第1步驟至第3步驟與一般之前所介紹的Android環境之安裝相同。 1.下載及設定Android SDK 2.下載及安裝需要的SDK 3.在Eclipse上設定AVD模擬器 5.下載安裝Android NDK 4.下載安裝Cygwin 6.在Eclipse上安裝CDT擴充套件
本章重點回顧(10) 要安裝使用QCAR前需先安裝Android NDK。 Cygwin提供Windows作業系統一個看起來及感覺像Linux環境的一組工具。 Cygwin並無法讓原生Linux應用程式,直接在Windows作業系統下執行的能力。 要安裝使用QCAR前需先安裝Android NDK。 模擬器並不支援Camera的模擬,需要用到Camera的設備時,需使用實機測試。 第一次要將Android程式放上手機上時要做一些設定,以免無法將程式載入到手機上執行。 1. 設定手機除錯模式。 2. 確認Eclipse已找出手機。 3. 取消模擬器。 1.設定手機除錯模式 2.確認Eclipse已找出手機 3.取消模擬器
參考資料 http://code.google.com/p/andar/ 。 http://java.sun.com 。 http://www.oracle.com/technetwork/java/index.html 。 http://www.eclipse.org/ 。 http://developer.android.com/ 。 http://developer.android.com/guide/basics/what-is-android.html 。 http://code.google.com/p/andar/ 。 http://nyatla.jp/nyartoolkit/wiki/index.php?FrontPage 。 http://developer.android.com/sdk/ndk/overview.html 。 吳亞峰、蘇亞光。Android遊戲程式開發範例大全。博碩文化。2011年5月初版。 Reto Meier著、鍾政欣譯。Android 2.X應用程式開發經典。碁峰。 2011年6月初版。 黃彬華。Android 2.X手機程式開發教戰手冊:體驗最夯最潮的智慧型手機程式開發。碁峰資訊 。2011年。 蓋索林(Gasolin) 。Google! Android手機應用程式設計入門。統一元氣資產管理。2009年。 吳亞峰、索依娜。學會Android 應用開發的18 堂關鍵基礎課程。博碩文化。2011年。