1 / 30

第二章:行動裝置與擴增實境

第二章:行動裝置與擴增實境. 姓名 : 胡惟評 學號 :MA0G0216 指導教授 : 李育強 日期 :2011/11/01. Outline. 2 - 1 智慧型行動裝置 2 - 2 行動 擴增實境 2 - 2 - 1 AndAR 2 - 2 - 2 NyARToolkit 2 - 2 - 3 QCAR 2 - 3 Android 2 - 3 - 1 Android 的歷史 2 - 3 - 2 Android 的系統架構. 2 - 1 智慧型行動裝置( 1 ). 智慧型行動裝置:平板電腦。

mona-lucas
Télécharger la présentation

第二章:行動裝置與擴增實境

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章:行動裝置與擴增實境 姓名:胡惟評 學號:MA0G0216 指導教授:李育強 日期:2011/11/01

  2. Outline • 2-1智慧型行動裝置 • 2-2行動擴增實境 • 2-2-1AndAR • 2-2-2NyARToolkit • 2-2-3 QCAR • 2-3 Android • 2-3-1 Android的歷史 • 2-3-2 Android的系統架構

  3. 2-1智慧型行動裝置(1) • 智慧型行動裝置:平板電腦。 • 在六十年代末Alan Kay提出了一種可以用筆輸入資訊的新型筆記型電腦的構思。 • 1989年9月第一台平板電腦問世,但其手寫辨識率過差、價格過高、重量過重,使得平板電腦並沒有受到青睞。 • 2002年由微軟公司大力推廣Windows XP Tablet PC Edition使得平板電腦慢慢流行起來。 • 智慧型行動裝置:智慧型手機。 • 隨著電腦硬體技術的發展,伴隨各種硬體零件重量與體積的縮小。以及3G無線網路的普及,使得原本厚重的黑金剛大哥大手機,逐漸被輕薄且功能強大的多功能手機所取代。 • 智慧型手機,並不是手機擁有許多的智慧。而是其功能除了可接聴電話外,更可以像電腦一樣,可任意安裝移除軟體,具備多功能的用途。

  4. 2-1智慧型行動裝置(2) • BlackBerry黑莓機。 • 第一台較有發展潛力的智慧型手機。 • BlackBerry配備一個小型的QWERTY鍵盤,讓很多習慣電腦的使用者,馬上就能上手BlackBerry。 • BlackBerry不只可以接聽電話,還擁有收發電子郵件的功能。 • 陸續推出的智慧型手機HTC、iPhone、G-Mobile…等,使用較大螢幕與簡單的觸控式操作,顛覆了以往小螢幕且礙手的鍵盤輸入之手機印象。 • 智慧型手機豐富的使用者介面、強大且多功能的作業系統,且隨著科技的進步、越來越多人開放原始碼與提供各種軟體,智慧型手機的提供服務越來越多。

  5. 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/。

  6. 2-2行動擴增實境(1) • 智慧型行動裝置(包含HTC 、iPhone、iPad…等)在這二、三年十分熱門。 • 智慧型手機是源於個人數位助理Personal Digital Assistant,PDA。 • PDA具有3吋以上觸控式液晶螢幕、軟硬體擴充性與開放性作業系統的掌上型電腦,在過去讓很多人愛不釋手。 • 後來業者為了擴大市場的規模,因此將個人數位助理結合手機通訊功能,並加以推廣,進而成為目前超夯的智慧型手機市場。 • 因為智慧型手機功能幾乎等同於小筆電,讓手機與電腦之間的分隔線越來越模糊。智慧型行動裝置並包含平板電腦。 • 除了桌上型、筆記型電腦外,智慧型行動裝置也逐漸形成第3大勢力。

  7. 2-2行動擴增實境(2) • 試著想像,有一種手機除了可以讓你透過鏡頭觀看真實的世界,並在所見的真實的世界中出現了原本不存在的有趣物件。 • 這類「擴增實境」在過去是虛擬小說中才會出現的,現在讓我們帶領你進入手機擴增實境,打造一個現實又虛擬的世界。 • 常見手機擴增實境(AR)開發套件及其可開發執行的環境: • AndAR:Android 。 • NyARToolkit:Windows、Android 。 • QCAR:Android、iOS 。

  8. 2-2-1AndAR(1) • AndAR是運用在Android 平臺的擴增實境技術開發套件。整個套件是根據 GNU 通用公共許可證(GNU General Public License)所發佈。 • 這意味著,只要認同他們的授權合約,就可以自由地在自己的專案中引入AndAR套件中。 • 它是一個開放源碼專案,歡迎任何使用者提出程式碼方面的貢獻。

  9. 2-2-1AndAR(2) • AndAR官方網站。http://code.google.com/p/andar/。 • 下圖為AndAR官方網站首頁的畫面。首頁上有五個標籤分別為「Project Home」、「Downloads」、「Wiki」「Issues」、「Source」。定內標籤頁面為「Project Home」,有提供AndAR的由來、AndAR贊助單位、成員、Demo視訊、以及下載…等相關資訊。

  10. 2-2-2NyARToolkit(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。

  11. 2-2-2NyARToolkit(2) • 下圖為NyARToolkit的英文版官方網站畫面。頁面左對各種NyARToolkit所支援的開發程式語言版本做一簡介,及相關用來撰寫程式的工具,如Eclipse等。首頁最下方則公告最新訊息。 • 首頁右方則為各種選單。

  12. 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- 。

  13. 2-3 Android(1) • Android(早期是一科幻小說上機器人的名字): • 是一種專門為了行動裝置所設計的作業系統,建構在Linux核心(Linux Kernel)之上。 • 使用者可以透過Android撥打電話、傳送簡訊、收發電子郵件、查看行事曆、上網、玩遊戲、享受影音娛樂。 • 甚至透過應用程式的下載,達成許多意想不到的創新功能。 • Linux是一個相當成熟且穩定的作業系統,無論安全性、多工處理能力甚至軟硬體的支援,都非常優越。 • 不過Android並不完全相容於傳統Linux系統,例如他沒有X Window系統,也沒有完全支援GNU函式庫,所以無法將所有Linux/GNU的應用程式都移植到Android上。 • Android官方網站。http://www.android.com/。

  14. 2-3 Android(2) • 下圖為Android的官方網站的頁面。下方分為三個部份分別為「Partners」、「Developers」、「Android Market」。

  15. 2-3 Android(3) • Android是個先進的平台,對於手持裝置開發者來說。平台上所開發的應用程式可相容於各種型號的Android手機,不會因手機型號而造成開發困擾。 •  Android支援網路、繪圖、3D處理、Google Map,提升更好的使用者體驗。 • 也可以透過Android Market (Android市場)可以方便的將自己所開發的Android應用程式銷售給世界各地使用者。 • 對於使用者來說,只要擁有免費的Google帳戶,就可以在不同廠商,同樣是Android作業系統手機之間轉換資料。容易將連絡簿等個人資料更新至手機平台。

  16. 2-3 Android(4) • Android手機通常都帶有一套預先安裝的通用應用程式,包括但不限於以下幾種: • 電子郵件用戶端。 • SMS管理應用程式。 • 完整的個人資訊管理套件。 • 基於WwbKit的Wwb瀏覽器。 • 照相機和視訊錄製應用程式。 • 計算機。 • 主螢幕。 • 鬧鐘。 • 功能豐富的行動Google Map應用程式。 • Android Market用戶端。 • Gmail郵件用戶端。 • Google Talk即時銷實用戶端。 • YouTube視訊播放器。 • 內建的應用程式儲存和使用的資料也可以被第三方應用程式使用,因此,個人所撰寫的應用程式可以用來處理來電或者新的SMS資訊。 •  Android手機上的應用程式可能會根據硬體製造商或手機營運商的不同而有所不同。

  17. 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.0rc1的開發套件。

  18. 2-3-1 Android的歷史(2) • 對應用程式開發者而言,1.0代表了開發者可以放心地使用 API,而不必再擔心 API 有太大的變動。 • 2008年 10月21日,Open Handset Alliance 公開了全部 Android 的原始碼。從此,開發者擁有了一個完全開放的手機平台。 • 2009年2月,Google推出AndroidMarket線上應用程式商店,使用者可在線上商店中找尋自己所需要的免費或需付費的軟體,讓Android程式開發者有著另一個賺錢的管道。 • 2010年2月3日,Linux核心開發者Greg Kroah-Hartman將Android的驅動程式從Linux核心移除,從此,Android與Linux核心不再合一。 • 2011年2月2日,發表僅供平板電腦使用的Android 3.0版。 • 2011年10月,發表Android 4.0版。

  19. 選擇Android的理由 • 開放性:建立標準化、開放式的移動軟體平臺。 • 平等性:所有應用程式皆平等。 • 無界性:應用程式之間沒有界限。 • 方便性:開發應用程式非常方便。 • 硬體豐富性:由於是開放性的平臺,不同的製造商皆可投入支援。

  20. 參考資料 • 維基百科。 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年。

  21. 2-3-2 Android的系統架構(1) • Android手機系統可分為上下層,上層使用Java編寫應用程式,下層使用C語言編寫系統程式。 • 上層的Java層又可細分出應用層(Applications)與應用架構層(Application Framework)。 • 應用層:應用程式均由Java編寫。各應用程式之間完全平等,開發人員可替換內建的Android程式成為自己所設計的應用程式。

  22. 2-3-2 Android的系統架構(2) • 應用層包含應用程式如下: • 1. Home。 • 2. 內建應用程式(瀏覽器、聯絡人…等) 。 • 3. 第三方應用程式。 • 4. 自行開發應用程式。 • 應用架構層:此層的設計簡化了元件的重複使用。用戶可以任意替換程式的元件,而不會影響其他模組。 函式庫 應用架構層 Linux核心層 外觀管理 活動管理 顯示驅動 多媒體架構 視窗管理 Camera驅動 資料庫管理 內容提供 WiFi驅動 繪圖引擊 視圖系統 其他硬體驅動程式 Android 執行 FreeType 套件管理 WebKit 行程管理 通話管理 SSL 資源管理 記憶體管理 libc 定位管理 電源管理 通知管理 應用層 應用層 核心函式庫 Home Home 內建應用程式(瀏覽器、聯絡人…等) 內建應用程式(瀏覽器、聯絡人…等) 第三方應用程式 第三方應用程式 自行開發應用程式 自行開發應用程式 Dalvik虛擬機器

  23. 2-3-2 Android的系統架構(3) • 應用架構層主要包含九大部份如下: • 1. 活動管理。 • 2. 視窗管理。 • 3. 內容提供。 • 4. 視圖系統。 • 5. 套件管理。 • 6. 通話管理。 • 7. 資源管理。 • 8. 定位管理。 • 9. 通知管理。 函式庫 應用架構層 Linux核心層 應用架構層 外觀管理 顯示驅動 活動管理 活動管理 多媒體架構 視窗管理 視窗管理 Camera驅動 資料庫管理 內容提供 內容提供 WiFi驅動 繪圖引擊 視圖系統 視圖系統 其他硬體驅動程式 Android 執行 FreeType 套件管理 套件管理 WebKit 行程管理 通話管理 通話管理 SSL 資源管理 資源管理 記憶體管理 libc 定位管理 定位管理 電源管理 通知管理 通知管理 應用層 核心函式庫 Home 內建應用程式(瀏覽器、聯絡人…等) 第三方應用程式 自行開發應用程式 Dalvik虛擬機器

  24. 2-3-2 Android的系統架構(4) • 然後下層的系統層也可細分為函式庫層(Libraries)與Linux核心系統層。 • 函式庫層:包含函式庫及Android執行函式庫兩大部份。 • 以下為函式庫所包含的主要功能: • 1. 外觀管理。 • 2. 多媒體架構。 • 3. 資料庫管理。 • 4. 繪圖引擊。 • 5. FreeType。 • 6. WebKit。 • 7. SSL。 • 8. libc。

  25. 2-3-2 Android的系統架構(5) • Android執行函式庫:包含核心函式庫以及Dalvik虛擬機器。 • 整個函式庫層如下圖所示。 函式庫 函式庫 Linux核心層 應用架構層 外觀管理 外觀管理 顯示驅動 活動管理 多媒體架構 多媒體架構 視窗管理 Camera驅動 資料庫管理 資料庫管理 內容提供 WiFi驅動 繪圖引擊 繪圖引擊 視圖系統 其他硬體驅動程式 Android 執行 Android 執行 FreeType FreeType 套件管理 WebKit WebKit 行程管理 通話管理 SSL SSL 資源管理 記憶體管理 libc libc 定位管理 電源管理 通知管理 應用層 核心函式庫 核心函式庫 Home 內建應用程式(瀏覽器、聯絡人…等) 第三方應用程式 自行開發應用程式 Dalvik虛擬機器 Dalvik虛擬機器

  26. 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 : 關聯式資料庫引擎。

  27. 2-3-2 Android的系統架構(7) • 在C語言方面結合了WebKit、OpenGL、SQLite、Linux等資源, Java方面則結合Apache函式庫等資源。 • 再利用Dalvik虛擬機避開了昇陽在Java的專利,因此擁有豐富的開放原始碼應用程式,又避開侵犯智慧財產權。 • 採用Apache Software License 2.0,讓商業公司可以放心投入Android手機的開發。

  28. 2-3-2 Android的系統架構(8) • 以下為Linux核心層: • 1. 顯示驅動。 • 2. Camera驅動。 • 3. WiFi驅動。 • 4. 其他硬體驅動。 • 5. 行程管理。 • 6. 記憶體管理。 • 7. 電源管理。 函式庫 應用架構層 Linux核心層 Linux核心層 外觀管理 活動管理 顯示驅動 顯示驅動 多媒體架構 視窗管理 Camera驅動 Camera驅動 資料庫管理 內容提供 繪圖引擊 WiFi驅動 WiFi驅動 視圖系統 其他硬體驅動程式 其他硬體驅動程式 Android 執行 FreeType 套件管理 WebKit 行程管理 行程管理 通話管理 SSL 資源管理 記憶體管理 記憶體管理 libc 定位管理 電源管理 電源管理 通知管理 應用層 核心函式庫 Home 內建應用程式(瀏覽器、聯絡人…等) 第三方應用程式 自行開發應用程式 Dalvik虛擬機器

  29. 2-3-2 Android的系統架構(9) • Android系統的整體架構圖,http://developer.android.com/guide/basics/what-is-android.html。整個Android系統架構可說展現了Google的技術。 函式庫 Linux核心層 應用架構層 外觀管理 顯示驅動 活動管理 多媒體架構 視窗管理 Camera驅動 資料庫管理 內容提供 WiFi驅動 繪圖引擊 視圖系統 其他硬體驅動程式 Android 執行 FreeType 套件管理 WebKit 行程管理 通話管理 SSL 資源管理 記憶體管理 libc 定位管理 電源管理 通知管理 應用層 核心函式庫 Home 內建應用程式(瀏覽器、聯絡人…等) 第三方應用程式 自行開發應用程式 Dalvik虛擬機器

  30. 參考資料 • 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年。

More Related