第一章 緒論
1.3 研究目標
本系統使用 Android 平台來開發,整合透過逢甲夜市委員會提供的夜市觀光 手冊資料,以及 Google 提供的開放資源(Source Code):Google Map V2、Google Place API、Google Directions API,提供使用者與店家管理者一個美食互動平 台,使用者也可以透過本系統的「線上地圖搜尋」來獲取地圖位置使資訊。讓使 用者除了離線使用美食導覽外,也可以線上搜尋其他店家、地標、大眾交通工具 等位置與導航,展現出本系統的便利性。
4 逢甲大學學生報告 ePaper(2014 年)
(1) 食在方便
優點:美食不限制地區、資料量龐大
缺點:使用者無法備份還原自己收藏的食物。
如圖 1.4.1 「食在方便」資料包括 網路推薦、各大電視推薦,這個 App 不同 的是,「逢甲美食導覽」可以備份使用者 的喜愛的食物到雲端,達到備份還原的 功能,方便日後存取。下圖 1.4.1.A 為食 在方便的二維碼。
圖 1.4.1 食在方便使用介面 圖 1.4.1.A 食在方便 QR code
5 逢甲大學學生報告 ePaper(2014 年)
(2) 電視美食
優點:分類清楚、方便搜尋、Facebook(社群網站)打卡。
缺點:使用者無法備份還原自己收藏的食物。
如圖 1.4.2,「電視美食」主要特色 是 食 品都是經 過電視 推薦的且方 便閱 讀,使用介面較為親切,但是導航功能就 沒那麼出色,也無法將喜愛的食物備份置 雲端。下圖 1.4.2.A 為電視美食的二維 碼。
圖 1.4.2 電視美食使用介面 圖 1.4.2.A 電視美食 QR code
6 逢甲大學學生報告 ePaper(2014 年)
本系統:逢甲美食導覽
優點:分類清楚、方便搜尋、可備份還原已我的最愛。
缺點:使用者無法備份還原自己收藏的食物。
如圖 1.5,「逢甲美食導覽」主要特色為在 人機介面上利用簡單的介面來讓使用者使用軟 體能夠容易上手,主要功能為「美食搜尋」、「美 食推薦」、「我的最愛」、「地圖導覽」…。但缺 點是尚未開發 Facebook(社群網站)的打卡數 參考、評論。
圖 1.5 逢甲美食導覽使用介面
7 逢甲大學學生報告 ePaper(2014 年)
表 1.5 逢甲美食導覽 App 與其他 App 比較
逢甲美食導覽 食在方便 電視美食
地區限制 O X X
美食搜尋 O O O
蒐藏美食 O O O
備份蒐藏美食 O X X
還原蒐藏美食 O X X
地圖路徑規劃 O O X
街景服務 X O X
Facebook 打卡 X X O
記錄去過店家 X X O
上傳照片 X O X
美食評論 X O O
如表 1.5 所示,「逢甲美食導覽」的最大優勢為可以備份與還原已經蒐藏好 的美食,即為「我的最愛」。由於「逢甲美食導覽」還是個雛型系統,部分功能 尚在建構中,例如:街景服務、Facebook 打卡、上傳照片與美食評論,都是日 後的未來展望與發展空間。
8 逢甲大學學生報告 ePaper(2014 年)
9 逢甲大學學生報告 ePaper(2014 年)
1.7 本論文結構
本論文分成六個章節,一個附錄及一個參考資料。
第一章介紹研究背景與動機、研究目的。
第二章介紹開發平台的背景,包含 Android 的簡介、Android 的優勢與本系 統所使用的工具。
第三章是本系統的系統分析與設計,用文字敘述,敘述本系統的概念是架構 圖與主要功能,主要功能有:美食天堂、美食推薦、我的最愛、會員中心、快速 搜尋。也介紹主要功能所對應的使用者案例圖(Use case diagram)、類別圖(Class Diagram)、循序圖(Sequence Diagram)。再來是資料庫的實體關聯(ER-model)、
綱要圖(schema)。
第四章將介紹本系統的功能,包括美食天堂、美食推薦、我的最愛、會員中 心、地圖搜尋等細項介紹。以圖片呈現各細節畫面;我們將用文字敘述及概念圖 來說明如何實作,而不是用程式碼來呈現。
第五章因為模擬器測試 Google Map 效果不佳,所以我們實體手機來呈現系 統人機介面,附上實機圖片,並評估細部問題。
第六章我們將本專題做一個總結,淺談學習過程、心得與未來展望,最後附 錄及參考文獻。
10 逢甲大學學生報告 ePaper(2014 年)
2003 年 10 月,有「Android 之父」之稱的安迪·魯賓(Andy Rubin)在美國 加利福尼亞州帕洛阿爾托建立了 Android 科技公司。談到建立 Android 科技公司 的原因,魯賓說:「聰明的移動設備能更好的意識到用戶的愛好和要求。」儘管 Android 科技公司的創始人和員工過去都具有各自的科技成就,但是 Android 科 技公司的經營只顯露出它在智慧型手機軟體的方面。
2.Google 的收購及發展:
2005 年 8 月 17 日,Google 收購了 Android 科技公司,Android 科技公司成 為 Google 旗下的一部分。
在 Google,魯賓領導著一個負責開發基於 Linux 核心移動作業系統的團隊,
這個開發項目便是 Android 作業系統。Google 的合作平台為 Android 提供了廣 闊的市場,Google 給予各大硬體製造商、軟體開發商一個靈活可靠的系統升級
11 逢甲大學學生報告 ePaper(2014 年)
型手機。2008 年 12 月 9 日,新一批成員加入開放手持設備聯盟,包括 ARM、華 為、索尼等公司。
同時,一個負責持續發展 Android 作業系統的開源代碼項目成立了 AOSP
(Android Open Source Project)。除了開放手持設備聯盟之外,Android 還擁 有全球各地開發者組成的開源社區來專門負責開發 Android 應用程式和第三方 Android 作業系統來延長和擴展 Android 的功能和效能。
2.1.2 Android 系統介紹及優點
圖 2.1.A Android 系統架構圖
從圖 2.1.A 中可以看出,Android 系統架構為四層結構,從上層到下層分別 是應用程序層、應用程序框架層、系統運行庫層以及 Linux 內核層,分別介紹如 下:
12 逢甲大學學生報告 ePaper(2014 年)
2、應用程序框架層(Application & Framework)
應用程序框架層是我們從事 Android 開發的基礎,很多核心應用程序也是通
B、Android 運行時: Android 應用程序時採用 Java 語言編寫,程序在 Android 運行時中執行,其運行時分為核心庫和 Dalvik 虛擬機兩部分。
4、Linux 內核層
Android 是基於 Linux2.6 內核,其核心系統服務如安全性、內存管理、進 程管理、網路協議以及驅動模型都依賴於 Linux 內核。
13 逢甲大學學生報告 ePaper(2014 年)
Android 優點
由 Google 開發的系統,對於 Google 本身的服務整合的相當好。相當適合有 在使用 Google 各項服務的人。因此有許多家廠商開發 Android 的手機,選擇性 就會多很多,從低階到高階都有。多個廠商為了增加自己的銷售成績,會加上許 多自己本身的軟體或介面,EX:HTC SENSE。軟體支援相當多。
2.1.3 Android 發展與應用
圖 2.1.3.A 2010 Android 市場市佔率
如圖 2.1.3.A,得知 Android 在 2010 年市佔率正式超越 iPhone
14 逢甲大學學生報告 ePaper(2014 年)
圖 2.1.3.B Android 系統更新時間點
如圖 2.1.3.B,可知 Android 每年會有兩次重大的版本更新。
Android 開發的軟體開發套件-Android SDK(Android Software Development),提供必要的 API 與開發工具,使用 Java 語言為主體,在 Android 平台上開發應用軟體,目前提供的功能如下:
1. 應用程式架構
在應用程式架構具備多種不同的基礎軟體元件,在開發應用程式時,直 接呼叫這些元件來使用,以節省開發應用程式的時間。
2. Dalvik 虛擬機器
Android 平台上使用的虛擬機器,雖然是用 Java 語言來開發,但是並 非標準的 Java 虛擬機器(Java Virtual Machine)。
3. 整合瀏覽器
整合瀏覽器是 Android 內建的瀏覽器,配合 Android 手機的功能,瀏 覽網頁達到更好的效果,例如:局部性的縮放網頁、觸控式操作等效果。
15 逢甲大學學生報告 ePaper(2014 年)
4. 最佳化的繪圖能力
在程式會用到的繪圖功能分為 2D 與 3D 兩個方面, Android 分別都 有提供特有的支援繪圖功能的開發。
5. SQLite 資料庫
SQLite 是開放性原始碼的資料庫,輕量性方面的設計結構是它最大的 特色,很適合在手機上使用。
6. 多媒體的支援能力
在 Android 帄台上支援多種不同的多媒體格式,例如:MPEG4、H.264、
MP3、AAC、AMR、JPG、PNG、GIF 等格式。
7. Bluetooth、EDGE、3G 及 Wi-Fi
在開發 Android 手機應用程式時,能支援的通訊硬體設備。
8. 其他手機硬體設備
開發 Android 應用程式,除了有提許多軟體上的函示庫讓開發者使用 之外,另外還有許多手機硬體設備的支援,如:Camera 相機功能、GPS 衛 星定位、電子羅盤、加速度感測裝備等等,讓開發者輕鬆地開發出豐富的 Android 應用程式。
16 逢甲大學學生報告 ePaper(2014 年)
1. Eclipse
Eclipse 是著名的跨平台開源整合式開發環境(IDE)。最初主要用來 Java 語言開發,目前亦有人透過外掛模組使其作為 Android、C++、Python、
PHP 等其他語言的開發工具。
2. Java Development Kit (JDK)
Java Development Kit (JDK) 是 Sun 公司針對 Java 開發人員發行的免 費軟體開發套件(SDK,Software development kit)。自從 Java 推出以來,
JDK 已經成為使用最廣泛的 Java SDK。
3. Android Development Tools (ADT)
Android Development Tools 是 Eclipse 開發 Android 應用程式的擴 充套件,提供許多 Android 專案與工具的整體支援,有助於除錯和開發 Android 應用程式。
4. Android SDK
Android SDk Tool 軟件開發工具包(software development kit)。被 軟件開發工程師用於為特定的軟件包、軟件框架、硬件平台、操作系統等建 立應用軟件的開發工具的集合,是 Android 專屬的軟件開發工具包。
5. Apache
Apache HTTP Server(簡稱 Apache)是 Apache 軟體基金會的一個開放 原始碼的網頁伺服器,可以在大多數電腦作業系統中執行,由於其跨平台和
17 逢甲大學學生報告 ePaper(2014 年)
安全性。被廣泛使用,是最流行的 Web 伺服器端軟體之一。
6. PHP
PHP(全稱:PHP:Hypertext Preprocessor,及「PHP:超文字預處理 器」)是一種開源的通用電腦指令碼語言,尤其適用於網路開發並可嵌入 HTML 中使用。PHP 的應用範圍相當廣泛,尤其是在網頁程式的開發上。一般 來說 PHP 大多執行在網頁伺服器上,透過執行 PHP 程式碼來產生使用者瀏覽 的網頁。
7. MySQL
MySQL 在過去由於效能高、成本低、可靠性好,已經成為最流行的開源 資料庫,因此被廣泛地應用在 Internet 上的中小型網站中。隨著 MySQL 的 不斷成熟,它也逐漸用於更多大規模網站和應用,如 Google 和 Facebook 等網站。非常流行的開源軟體組合 LAMP 中的「M」指的就是 MySQL。
8. Appserv
AppServ 整合了 Apache、MySQL 和 PHP,透過 phpMyAdmin 來管理 MySQL。
18 逢甲大學學生報告 ePaper(2014 年)
第三章 系統分析
本章將介紹我們系統的分析以及資料庫的規劃。
3.1 系統分析
3.1.1 系統架構
圖 3.1.1 系統架構圖
如圖 3.1.1,由於我們系統需要遠端伺服器來存取資料,所以我們系統可以 分為手機端與電腦端。在手機端中,使用者分為一般使用者與店家,一般使用者 可以透過手機內的逢甲美食導覽 App 來操作內部功能,若功能(如:會員中心)
19 逢甲大學學生報告 ePaper(2014 年) 搜尋」等…。系統透過 PHP 傳遞參數到遠端的 Server。當遠端 Server 有資料回覆時,會利用 PHP 將資料轉換成 JSON 再傳遞 JSON 資料至逢甲