You are on page 1of 65

修 平 科 技 大 學

資訊管理系

台中美食 APP

組長:BF98080 邱佳瑩
組員:BF98073 王雅芳
BF98081 楊雅棉
指 導 教 師 :廖 俊 威

中 華 民 國 一 0 一 年 十 二 月
修平科技大學
資訊管理系
專題實務報告審定書

本 系 日 間 部 四 技 部
組長:BF98080 邱佳瑩
組員:BF98073 王雅芳
BF98081 楊雅棉

所 提 報 告 台 中 美 食 APP

經 本 委 員 會 評 審 通 過 。

口試委員:

指導老師:

中 華 民 國 一 0 一 年 十 二 月
摘要
隨著社會進步,人們工作也愈來愈忙碌,雖然薪水不見得比較多,

但休閒活動有愈來愈被重視的趨勢,人們開始重視生活品質,吃也要享

受美食,不再只求溫飽。台中有很多觀光夜市、商圈,有很多好吃的美

食,許多遊客慕名而來,卻常常為了找不到那間著名的店家而花費許多

時間,掃了遊興。於是我們利用可隨時行動上網的手機與平板電腦,在

Android 系統上,設計結合 Google map 的一套行動化美食地圖導覽

APP,提供使用者知道更多的美食導覽資訊。

因為手機功能越來越多元化,除了最基本的接聽及傳簡訊和拍照

外,還有 GPS 定位導航系統,以及 3G、Wi-Fi 上網功能;而平板電腦重

量輕薄,螢幕與小筆電差不多,但更好攜帶,所以讓人們的生活更便利,

可以隨時拿出手機及平板電腦來查詢所需要的資訊。

因此結合行動裝置與台中美食 APP,讓使用者快速查詢到台中觀光

夜市、商圈的美食,明確的告訴使用者店家目的地在哪、與美食價格,

然後可以選擇目前所使用的交通工具(步行、行車、大眾運輸),APP 就

會告訴使用者現在的所在位置到目的地距離有多遠,並會列出商圈、夜

市的各個美食店家,與店家的菜單價位,讓使用者可以容易找尋到想吃

的美食小吃與比較價位。

i
目錄
摘要 ....................................................... i
目錄 ...................................................... ii
表目錄 .................................................... iv

圖目錄 ..................................................... v
第一章 前言 ................................................ 1
1-1 研究動機與目的...................................... 1

1-2 簡介 ............................................... 1
1-3 工作進度表 ......................................... 2
1-3-1 工作分配表 .................................... 3
1-4 軟、硬體需求 ....................................... 4
第二章 軟體需求分析 ........................................ 8
2-1 Android 簡介 ........................................ 8

2-1-1 Android 特點 ................................... 9


2-1-2 Android 版本 .................................. 11
2-1-3 Android 版本解說 .............................. 12

2-2 Eclipse 簡介 ....................................... 16


2-2-1 Eclipse SDK .................................. 17
2-3 JSP 簡介 ........................................... 18

2-3-1 Java Server Pages ............................ 18


2-3-2 Java Servlet ................................. 19
2-3-3 JSP 的優點 .................................... 19
2-4 Tomcat 簡介 ........................................ 20
2-4-1 Tomcat 演進版本 ............................... 21

ii
2-5 Apache HTTP Server 簡介 ............................ 23
2-6 Microsoft Office Access 簡介 ....................... 24
2-7 Google Map 簡介 .................................... 25

第三章 系統分析 ........................................... 29


3-1 系統功能圖 ......................................... 29
3-2 系統架構圖 ......................................... 30

3-3 系統流程圖 ......................................... 31


3-4 輸出/入規格 ....................................... 32
3-5 資料庫設計 ......................................... 34

第四章 操作說明 ........................................... 36


4-1 APP 系統畫面 ....................................... 36
第五章 問題討論 ........................................... 46
第六章 結論 ............................................... 56
參考文獻 .................................................. 57
附錄光碟內容(原始程式、簡報檔、報告書、安裝說明、執行檔 AutoRun、

專題報告典藏資料表。)

iii
表目錄
表 1 工作進度表 ............................................. 2
表 2 工作分配表 ............................................. 3

表 3 軟體需求表 ............................................. 4
表 4 硬體需求表 ............................................. 4
表 5 HTC Sensation z710e 手機規格表 ......................... 5

表 6 SAMSUNG GALAXY Gio S5660 手機規格表 .................... 6


表 7 ASUS Transformer Pad TF300T 平板電腦規格表 ............. 7
表 8 Tomcat 演進版本表(一) ................................. 21
表 9 Tomcat 演進版本表(二) ................................. 22
表 10 註冊交易表 ........................................... 32
表 11 商圈夜市查詢交易表 ................................... 32

表 12 店家查詢交易表 ....................................... 33
表 13 美食價格查詢交易表 ................................... 33
表 14 table1 資料表規格表 .................................. 34

表 15 food1 資料表規格表 ................................... 34


表 16 middle1 資料表規格表 ................................. 35
表 17 qq 資料表規格表 ...................................... 35

表 18 ERActivity.java 部分程式碼 ........................... 48


表 19 login.jsp 程式碼 ..................................... 52
表 20 table1.jsp 程式碼 ..................................... 53
表 21 DE.java 部分程式碼 ................................... 54

iv
圖目錄
圖 1 資料庫系統圖 .......................................... 24
圖 2 Keytool 按鈕圖.......................................... 25

圖 3 Open keystore ........................................ 26


圖 4 MD5 Fingerprint ...................................... 26
圖 5 Maps API Key ......................................... 26

圖 6 系統功能圖 ............................................ 29
圖 7 系統架構圖 ............................................ 30
圖 8 系統流程圖 ............................................ 31
圖 9 主(登入)畫面 .......................................... 36
圖 10 立即註冊畫面 ......................................... 37
圖 11 註冊成功畫面 ......................................... 38

圖 12 帳號未輸入畫面 ....................................... 39
圖 13 帳號重複畫面 ......................................... 40
圖 14 商圈夜市列表畫面 ..................................... 41

圖 15 商圈夜市店家列表畫面 ................................. 42
圖 16 店家資料查詢畫面 ..................................... 43
圖 17 路線規劃畫面 ......................................... 44

圖 18 美食價格畫面 ......................................... 45
圖 19 Android 開發環境需要套件圖 ........................... 46
圖 20 未指定預設驅動程式圖 ................................. 47
圖 21 Access 資料庫欄位 .................................... 48
圖 22 系統管理工具 ......................................... 49
圖 23 資料來源(ODBC) ....................................... 49
v
圖 24 ODBC 資料來源管理員 .................................. 50
圖 25 建立新資料來源 ....................................... 50
圖 26 ODBC 設定與選取資料庫 ................................ 51

圖 27 ODBC 建立完成結果 .................................... 51


圖 28 執行結果畫面 ......................................... 55

vi
第一章 前言
本章節說明研究動機及目的、專題簡介、以及工作進度表、和現況

與自己專題之差異、軟硬體需求。

1-1 研究動機與目的

在日常生活中,吃是我們每天不可或缺的,對於現今社會,人們注

重悠閒生活,必然會選擇許多光觀地區旅遊。當我們在旅遊當中,更會

想要了解當地美食、所在地,在全球經濟不景氣的情況下,對於價格人

們也很講究。我們多以選擇平民美食,價位尚可接受範圍和人氣美食,

所以促成我們製作本專題的動機。

1-2 簡介

手機上 Android App,查詢到的美食系統,大多只有美食名稱及所

在地。所以我們希望大家使用 App 時,不僅可以容易又清楚的找尋到美

食小吃,不用煩惱今天到底要吃什麼的困擾外,提供菜單給大家比較價

位,更可以解決價位上的問題。也不用怕價位太昂貴,因為我們會呈現

出在地的人氣美食,這些店家也是從電視、電影、網路得知訊息,由明

星藝人推薦,親朋好友介紹,不會令饕客失望的美食。

首先我們建立美食資料在 Access 中,再利用 Jsp 程式透過 Apache

Tomcat 與資料庫做連結,這個部分屬於 Web Server 端的程式,最後本

專題製作的手機端(Android)透過 http 網際網路連線 Web Server 取得

資料,顯示在手機端。

1
1-3 工作進度表

專題製作的規劃工作進度表(如表 1)。

表 1 工作進度表

甘特圖

時 間
2012 年

項 目 03 04 05 06 07 08 09 10 11 12
月 月 月 月 月 月 月 月 月 月

擬定題目

軟體需求分析

Android 課 程
研習

專題開會

收集資料

撰寫程式

程 式 整合測試
及驗收

書面製作

口試報告

備註: 預測時間: 實際時間:

2
1-3-1 工作分配表

專題製作的個人負責工作分配表(如表 2)。

表 2 工作分配表
姓名 負責項目
 Android課程研習
 Android程式設計
 系統測試及除錯
楊雅棉
 程式整合測試
 程式畫面設計
 口試報告
 Android課程研習
 Web Server設計與修改
 建立Access資料庫資料
王雅芳
 Jsp程式撰寫(login.jsp、table1.jsp)
 書面、簡報蒐集整合製作
 口試報告
 Android 課程研習
 建立Access資料庫資料
 Jsp程式撰寫(food1.jsp、middle1.jsp)
邱佳瑩
 書面蒐集整合製作
 簡報蒐集整合製作
 口試報告

3
1-4 軟、硬體需求

本專題系統所採用的軟硬體需求,分述如表 3、表 4;以及在製作

專題時測試用的手機及平板電腦做介紹,分別如表 5、表 6 及表 7。

表 3 軟體需求表

作業系統 WINDOWS 7、WINDOWS XP

Web Server Tomcat 6.0

Eclipse、JSP、Apache HTTP Server、JavaScript


開發工具
Tomcat、Microsoft Office Access

瀏覽工具 IE6.0 以上

表 4 硬體需求表

CPU Pentium(R)4

RAM 2.0GB 以上

H.D.D 30GB 以上

CD-ROM 50X

螢幕 20 吋

週邊配備 鍵盤、滑鼠

4
HTC Sensation z710e 手機規格介紹

表 5 HTC Sensation z710e 手機規格表

硬體 規格

處理器 處理器 1.2GHZ dualcore(雙核心)

記憶體 768MB

螢幕大小 4.3 inch QHD resolution

主相機 8M

前相機 VGA

Wi-Fi 802.11 b/g/n

藍芽 3.0

支援 1080P Full HD 影像錄製/播放

軟體 規格

Android 2.3.4 版本

HTC Sense 3.0 版本

5
SAMSUNG GALAXY Gio S5660 手機規格介紹

表 6 SAMSUNG GALAXY Gio S5660 手機規格表

硬體 規格

處理器 處理器 800MHZ

記憶體 158MB + 2GB 內存記憶體容量

螢幕大小 3.2 吋

相機 300 萬畫素相機

Wi-Fi 802.11 b/g/n

藍芽 2.1 + EDR / USB

支援 GPS / A-GPS 衛星導航、Google 語音搜尋

軟體 規格

Android 2.3.4 版本

6
ASUS Transformer Pad TF300T 平板電腦規格介紹

表 7 ASUS Transformer Pad TF300T 平板電腦規格表

硬體 規格

10.1”LED 背光 WXGA(1280800)Screen。
螢幕 IPS Pange。
10 finger multi-touch support。
CPU NVIDIA®Tegra3TM Quad-Core。
記憶體 1GB。
16GB/32GB Emmc。
資料儲存應用
8GB Life Time ASUS Webstorage Space*2。
WLAN 802.11 b/g/n@2.4GHz。
無線資料網路
藍牙 v3.0+EDR。
1.2 百萬畫素正面鏡頭。
8 百萬畫素背面鏡頭。
網路攝影機 自動對焦(rear)。
BSI Sensor。
5-element lents。
High Quality Speaker。
音效
高品質 麥克風。
感應器 G-Sensor,Light Sensor,Gyroscope,E-compass,GPS
產品尺寸 263 x 180.8 x 9.9 mm
重量 635g

軟體 規格
Android 4.0 版本

7
第二章 軟體需求分析
本章節主要是介紹專題運用到的開發工具。

2-1 Android 簡介

Android 它是一個以 Linux 平台為基礎的開放原始碼的作業系統,

並且用 JAVA 當做開發語言,而主要用於移動、手持設備,擴充 Android

執行作業環境(AndroidRuntime),和應用程式開發平台(Appliction

Platform)。而且 Android 是一個免費平台,是由 Google 成立的 Open

Handset Alliance(OHA),現在持續領導與開發中,而 Android 應用的

需求會越來越大,市場商機也將日益龐大[1]。

Android 系統最初是由安迪•魯賓(Andy Rubin)開發製作,主要

支援手機,於 2005 年 8 月被 Google 收購。2007 年 11 月,Google 與

84 家硬體製造商、手機晶片供應商、軟體開發商及電信營運商成立開

放手持設備聯盟(Open Handset Alliance,OHA)


,發布了名為「Android」

的開放手機軟硬體平台,隨後 Google 以 Apache 免費開源許可證的授權

方式,發布了 Android 的原始碼。讓生產商推出搭載 Android 的智慧型

手機,Android 作業系統後來更逐漸拓展到平板電腦及其他領域上[2]。

8
2-1-1 Android 特點

開放原始碼:Google 公司公佈 Android 系統的核心原始碼,並且提供

SDK 讓程式設計者可以透過標準 API 存取核心功能,撰寫各式應用軟

體,再使用 Android 市集機制快速將軟體傳佈到世界各地。如果認為

Android 的功能不足或介面不夠美觀,可以自行修改以符合自己的需求[1]。

多工系統:Android 系統可同時執行多個應用程式,是完整的多工環

境。同時具備獨特的「通知」機制,應用程式在背景執行,必要時可以

產生通知來引起使用者注意。例如:我們再開車使用手機導航裝置系統

時,如果有人打電話進來鈴聲會響起,可以接聽電話,同時導航裝置系

統認仍在運行當中[1]。

虛擬鍵盤:Android 從 1.5 版開始同時支援實體鍵盤及虛擬鍵盤,可以

滿足不同使用者在不同場合的需求。虛擬鍵盤可在任何要輸入文字的應

用程式中使用,包括電子郵件、瀏覽器、文書處理等,但目前的智慧型

手機已經沒有實體鍵盤,完全以虛擬鍵盤方式輸入[1]。

媒體支援能力:Android 支援多種音訊、靜態視訊、動態視訊格式,如

MPEG-4、H.264、MP3、AAC、AMR、JPG、PNG、GIF 等。

攝影機、GPS 定位、羅盤、加速度感測器:屬於硬體層次的功效,Android

主要是在軟體層面提供支援,如硬體抽象層、應用程式介面等。

9
SQLite 資料庫:它是一套開放原始碼的關連式資料庫,其特點在於輕量性

(僅 500KB 左右的容量),適合手持式裝置運用,此外桌上型運算的應用程式

也有使用,如 OpenOffice.org 2.0 版之後就有內建 SQLite。

藍牙、EDGE、3G、以及 Wi-Fi:這些通訊能力屬於硬體層次的功效要求。

超強網路功能:Android 使用以 Webkit 為核心的 WebView 元件,應用

程式想內嵌 HTML、JavaScript 等進階網頁功能,都可輕易達成。Android

內建的瀏覽器也是以 Webkit 為核心,能加快顯示速度,尤其在包含大

量 JavaScript 指令及複雜的網頁應用時,更可以體驗其佳性能[1]。

完整開發環境:目前最常使用的開發環境為 Eclipse、ADT 加上 Android

SDK,不但具備舒適的程式撰寫環境,而且有相當強悍的除錯能力,大

幅提升撰寫應用程式的效率。最有利的地方 Google 開發了完善的模擬

器,撰寫程式後可直接在模擬器上執行,而不需要每次都大費周章的安

裝到實體機上測試,如此可節省大量程式修改測試的時間[1]。

充分表現個性:Android 系統可使用 Widget 來實現桌面個性化,其預

設安裝了五個桌面 Webkit,分別為數位時鐘、日曆、音樂播放器、相

框及搜尋頁面。廠商及個人使用皆可修改美化這些介面,充分表現自己

的個性與氣息[1]。

10
2-1-2 Android 版本

Android 軟體版本除了以數字命名外,也用點心和甜食命名。

(1.5)紙杯蛋糕Cup Cake

(1.6)甜甜圈Donut

(2.1)閃電泡芙/鬆餅Eclair

(2.2)冷凍優格Froyo

(2.3.x)薑餅人Ginger Bread

(3.x.x)蜂巢Honey Comb

(4.0.x)冰淇淋三明治Ice Cream Sandwitch

(4.1.x)果凍豆/雷根糖Jelly Bean

(5.0)青檸派Key Lime Pie


11
2-1-3 Android 版本解說

1.5 紙杯蛋糕版本(2009 年 4 月 30 日)

Android1.5 版本比之前的 1.1 版本增加了 2 對螢幕虛擬鍵盤的

支持,系统可以像 iPhone 那樣直接在螢幕上虛擬出來的鍵盤中輸

入,這也是為後面没有自帶 QWERTY 鍵盤 Android 手機作出的重大改進。

相機在啟動速度加快,拍攝圖片可以直接上傳到 Picasa、也可以

拍攝播放影片,並支援上傳到 Youtube。主螢幕增加音樂播放器和相框

widgets。聽音樂時可使用立體聲的藍芽耳機,而基本的功能簡訊、

Gmail、日暦,瀏覽器的使用者介面也都大幅改進;還有衛星導航 GPS

效能也大大提高。並且提供螢幕虛擬鍵盤、當我們在使用應用程式也會

自動隨著智慧型手機旋轉。通訊錄還可以設定來電照片顯示。

1.6 甜甜圈版本(2009 年 9 月 15 日)

Android1.6 版本進一步加強了操作系统的搜尋功能,隨著用戶

使用時間的搜尋结果將更加準確。Andorid1.6 在操作界面上將沒有

太大的改變,相機的拍照功能有全新的介面,相機、攝影機和照片

媒體瀏覽器也將合併為一個介面,另外 Android Market 功能也將得

到更新。

12
2.1 閃電泡芙版本(2009 年 10 月 26 日)

支援藍芽傳輸、支援多組 Google 帳號登入、更方便的聯絡人資訊、

全新的瀏覽器書籤表現方式、全新的圖片庫閱讀介面、更加完整強大的

相機支援功能、全新的瀏覽器使用情境、改善虛擬鍵盤設計,使操作更

加便利、提昇硬體運算速度、動態桌面等,實際升級支援的細節則要待

測試確認軟硬體相互配合狀況。

2.2 冷凍優格版本(2010 年 5 月 20 日)

Android 2.2 新增支援 JIP Complier(註 1),所以 Android 2.2

的運行速度會較 2.1 版本的快 2-5 倍。Google 使用 Nexus one,在 2.2

和 2.1 上同時執行兩款遊戲 Replica Island,以比較兩者的 FPS 情況。

結果顯示,2.2 的 FPS 平均在 30FPS 以上,而 2.1 則低於 20FPS。由此

可見,支援 JIP Complier 的 Android 2.2 效能不能少看。

另外,Google 宣稱 Android 2.2 擁有全世界最快的瀏覽器。因為

Chrome Android 版加入了 V8 JavaScript 引擎,在這個引擎支援下,

Chrome 可以有 2-3 倍 JavaScript 的速度增長。

(註 1:JIT complier 全名 Just-in-time complier 是以 Java 為

程式語言編寫,用來提高應用程序性能的最簡單的工具)。

13
2.3.x 薑餅版本(2010 年 12 月 7 日)

Android 2.3 擁有不少改進,在用戶層面方面,擁有簡化及提升速

度的用戶介面,更快、更直覺的文字輸入、一觸式的文字選擇及複製、

貼上,改進的電源管理、軟件上控制、新的通訊及管理方式、下載管理

及拍攝支援等。

3.x.x 蜂巢版本(2011 年 2 月 2 日)

Widget (或 App)可嵌入於桌面上待機使用外,各項所開啟內容亦

可以堆疊的方式放置於桌面上,同時亦可翻閱開啟或關閉。Gmail 新增

的功能,當我們要編寫新信件的時候可以附加上親筆畫出的筆跡。

4.0.x 冰淇淋三明治版本(2011 年 10 月 19 日)

程序列表由以往的上至下方式更改為左右頁翻,這樣感覺上會較容

易找到所需要的 App。而實體按鍵取消,取而代的是在介面上的虛擬按

鍵,包括返回、主頁及選單,內置相機提供即是修改功能,如大眼功能

會在畫面上先出現大眼後的畫面再拍攝,照片亦可在拍攝外作出修改如

反轉、裁剪、及增加 effect 等。還有新的網頁瀏覽器提供離線瀏覽功

能 及 強 制 檢 視 桌 面 版 網 頁 功 能 , WiFi Direct 提 供 與 其 他 裝 置 除

Bluetooth,紅外線外的選擇,直接以 WiFi 連接傳輸(電話不用上網或

tethering)。

14
4.1.x 雷根糖版本(2012 年 6 月 28 日)

主畫面的 Widget 小工具在空間有限的時候會自動縮小,而 Widget

移動時,其他程式捷徑也會讓開,這讓使用者者想到 Word 的文繞圖。

還有鍵盤輸入新增學習預測字也支援了離線語音輸入。當我們要看照片

時,兩指縮小之後可以左右撥動切換前後張照片,看到不想要的照片可

以向上撥開刪除,刪錯照片也可以復原喔!再來是 Android Beam 以前

只能傳送簡單的內容,現在可以拿來傳照片、影片,用的傳送方式應該

是藍芽。然後通知列的部分,多了一些功能,例如有未接來電,可以直

接回撥或是傳送簡訊。

15
2-2 Eclipse 簡介

Eclipse 是開放原始碼(Open Source Project)的整合開發環境,

它同時還是一個各種工具程式的整合平台,主要目的是建立一個多用途

的整合開發環境和工具,讓應用程式開發者透過 Eclipse 的軟體開發套

件,把各種不同的工具程式整合到 Eclipse 平台,達到一個共同使用者

介面平台的目標。

是 由 藍 色 巨 人 IBM 所 釋 出 。 IBM 花 了 4 千 萬 美 金 來 開 發 這

IDE(Integrated Development Environment)。第一版 1.0 在 2001 年

11 月釋出,隨後逐漸受到歡迎。 Eclipse 可由額外的附加功能擴充,

目前已有幾個 open source 的計劃案與公司,將額外的附加元件擴充至

Eclipse 中,例如:Android 開發;Eclipse 也可被用在一般性用途的

應用程式開發上[3]。

Eclipse 專案由 Project Management Committee(PMC)所管理,它

綜觀專案全局,Eclipse 專案分成 3 個子專案:

1.平台-Platform

2.開發工具箱-Java Development Toolkit(JDT)

3.外掛開發環境-Plug-in Development Environment(PDE)

這些子專案又細分成更多子專案。例如 Platform 子專案包含數各

元件,如 Compare、Help 與 Search。JDT 子專案包括三各元件:User

Interface(UI)、核心(Core)及除錯(Debug)。PDE 子專案包含兩各元

件:UI 與 Core[4]。

16
2-2-1 Eclipse SDK

平台執行時期(Platform Runtime)負責管理延伸點 (Extension

Point)和外掛程式的模型,可動態地定義和維持外掛程式的註冊資訊。

工作區(Workspase)是負責資源管理(Resource Management),透過檔案

系統管理各種資源(專案、檔案害資料夾等)。工作台(Workbench)是使

用者介面的實作,包含 SWT(Standard Widget Toolkit)和 JFace。SWT

定義與作業系統相關的基本圖形操作方式(類似 Java 中的 AWT)。

但是由於 SWT 過於低階而不容易實作,因此以 JFace 提供較高階的

圖形操作方式(類似 Java 中的 Swing)。說明(Help)外掛程式是實作

Eclipse 平台的說明 web 伺服器以及文件整合機能。團隊(Team)外掛程

式容許其他外掛程式來定義和登錄團隊程式設計、儲存庫存取和版本化

的實作。此外,其他的外掛程式也都是以延伸點外掛至 Eclipse。

17
2-3 JSP 簡介

JSP(Java Server Pages) 由 Sun M i c r o s ys t e ms 公 司 倡 導

的 ,是建立動態網頁之程式技術,編輯在網路端(Server 端),任意一

個 Client 端 可 依 網 路 網 址 開 啟 網 頁 , 經 由 該 網 頁 與 網 站 作

Server/Client 資訊互動[5]。

Jsp 網頁程式,是以 Html 與 Java 合併編輯而成,Html 部份即如一

般 Html 網頁撰寫方式;Java 部份則以<%...%>符號將 Java 程式碼括製

撰寫其中,因此可以看出是由 Java 支援的網頁,有 Java 物件導向之強

大功能,亦有 Html 網頁之靈巧應用[5]。

2-3-1 Java Server Pages

JSP 是以 Servlet 為藍本,所開發出來的範本系統,主要是用來克

服 servlet 不易開發的這個問題,而發展出來的一種伺服端網頁技術。

而他和 Servlet 類似的地方,則是在執行 JSP 時,需要由 Web 伺服器的

JSP 容器編譯、執行。大部份的 JSP 容器支援以 Java 語言開發的 JSP

為主,只有少部份支援 JavaScript。而第一次執行 JSP 網頁時,JSP

容器會將他先轉譯回 Servlet,再加以執行,但是在編譯之後,使用者

如果沒有再對 JSP 的網頁進行更改的話,那麼下一次再瀏覽同一個 JSP

網頁時,就不用再進行編譯的工作。

18
2-3-2 Java Servlet

Sun 公司的 Java Software Division 制定了 Java Servlet,是用

Java 編寫的伺服器端程序,其主要功能在於互動式地瀏覽和修改數

據,生成動態 Web 內容。狹義的 Servlet 是指 Java 語言實現的一個介

面,廣義的 Servlet 是指任何實現了這個 Servlet 介面的類別,一般情

況下,人們將 Servlet 理解為後者。Servlet 運行於支持 Java 的應用

伺服器中。從實現上講,Servlet 可以響應任何類型的請求,但絕大多

數情況下 Servlet 只用來擴展基於 HTTP 協議的 Web 伺服器。最早支持

Servlet 標準的是 JavaSoft 的 Java Web Server。此後,一些其它的基

於 Java 的 Web 伺服器開始支持標準的 Servlet。

2-3-3 JSP 的優點

(1) 讓網頁開發人員能以建構靜態網頁的方式建構動態網頁。

(2)透過 JSP,降低撰寫 Servlet 的難度。

(3)Java 具有跨平台的能力。

(4)JSP 能將程式依功能切開,可讓外部 JSP 網頁重覆使用,以提供所

需功能。

19
2-4 Tomcat 簡介

Tomcat 是 一 個 免 費 且 開 放 原 始 碼 的 Servlet 容 器 , 專 為

JSP/Servlet 互動網頁設計的網站系統。為了合併 Servlet 與 JSP 使用

相同的網站系統軟體,另開發 Tomcat 系列網站系統軟體,本專題採用

Tomcat6.0 版環境。

Tomcat 它是 Apache 軟體基金會(Apache Software Foundation)

的一個頂級項目,由 Apache、Sun 和其他一些公司及個人共同開發而

成。由於有了 Sun 的參與和支持,Servlet 和 JSP 規範總是能在 Tomcat

中得到呈現,Tomcat 6.0 支持 Servlet 2.5 和 JSP 2.1 規範。因為 Tomcat

技術先進、性能穩定,而且免費,所以深受 Java 愛好者的喜愛,並得

到了部分軟體開發商的認可,成為目前比較流行的 Web Server。

20
2-4-1 Tomcat 演進版本

Tomcat 各版本的演進,如表 8、表 9。

表 8 Tomcat 演進版本表(一)

Tomcat 演進版本

Tomcat 3.x

1.符合 Servlet 2.2 和 JSP 1.1 規範。

2.Servlet 更新。

3.基礎的 HTTP 功能。

Tomcat 4.x

1.符合 Servlet 2.3 和 JSP 1.2 規範。

2.Servlet 容器被重新設計,並被命名為 Catalina。

3.JSP 引擎被重新設計,並被命名為 Jasper。

4.新的 Coyote 連接器。

5.支持 JMX,使用 JSP 和基於 Struts 的管理系統。

21
表 9 Tomcat 演進版本表(二)

Tomcat 演進版本

Tomcat 5.x

1.符合 Servlet 2.4 和 JSP 2.0 規範。

2.精簡的垃圾收集系統。

3.更快的 JSP 解析和改進過的標籤庫處理。

4.Windows 和 Unix 的本地作業系統整合,可以將 Tomcat 註冊為系統服務。

5.重構過的應用程序發布環境。

Tomcat 6.x

1.符合 Servlet 2.5 和 JSP 2.1 規範。

2.支持統一表達式語言 2.1。

3.設計運行在 Java SE 5.0 及以後版本上。

4.通過 CometProcessor 介面實現了對 Comet 的支持。

5.不同於過去版本,未集成管理員(admin)控制台。

22
2-5 Apache HTTP Server 簡介

Apache HTTP 伺服器是源自 Unix/Linux 的 Apache 網頁伺服器,

並且是一個免費且開放原始碼的 HTTP 伺服器,主要目的在於提供一個

安全並且有效率的 HTTP Server 環境。Apache HTTP Server 目前有

Unix-Based 和 Windows 的版本。根據統計,目前 Apache HTTP Server

已成為佔有率最高的 HTTP Server 軟體,而且它的功能與執行效率並

不會比一般商業的 Web Server 軟體來的差,甚至領先許多。

Apache 起初由伊利諾大學的國家超級電腦應用中心開發,由於其

安全性被廣泛使用,是最流行的Web 伺服器端軟體之一,不斷的發展

和加強之後,擁有牢靠可信的美譽讓現在全球超過半數的網站中使用。

23
2-6 Microsoft Office Access 簡介

Microsoft Office Access(前名 Microsoft Access)是由微軟釋

放 的 關 聯 式 資料庫 管 理 系 統 。它結 合 了 Microsoft Jet Database

Engine 和圖形使用者介面兩項特點,是 Microsoft Office 的成員之

一。 Access 能夠存取 Access/Jet、Microsoft SQL Server、Oracle(甲

骨文軟體公司),或者任何 ODBC 兼容資料庫內的資料[6]。

使用者可以透過資料庫管理系統去操作、存取資料庫(圖 1),還能

讓使用者匯入、匯出和使用 XML 資料檔案,也會識別標示出一般錯誤,

並提供修正錯誤的選項。

Access 資料庫共有資料表、查詢、表單、報表、資料頁、巨集及

模組等七大物件。而資料表表示真正存放資料的地方。若想從資料表中

依條件尋找資料,則需建立查詢;那如果要建立漂亮的畫面,就要設計

表單;要列印資料時,就要做成報表;想把資料做成網頁,就要製作成

資料頁。至於巨集及模組則是運用在這些介面上,增加我們在操作上的

便利及增強功能[7]。

資料庫
Access 應用程式

資料
軟體

圖 1 資料庫系統圖

24
2-7 Google Map 簡介

Google 地圖(Google Maps)是 Google 公司提供的電子地圖服務,

包括局部詳細的衛星照片,還能提供三種視圖。一、向量地圖(傳統地

圖)。二、衛星地圖(俯視圖,跟 Google Earth 上的衛星照片基本一

樣)。三、地形地圖(顯示地形和等高線)。

本專題會用到 Google Map,所以必須取得使用金鑰,那取得金鑰

要先取得 MD5 fingerprint,再到官方網站產生金鑰。得到金鑰就能在

應用程式中使用 MapView 等 Google Map APIs。取得方式有許多,可以

使用指令完成,那對於指令不熟該怎麼辦?以下就是不須透過指令,也

一樣可以取得 MD5 fingerprint 的流程。

Step1:打開 Eclipse。

Step2: Help→Install New Software。

Step3:在 work with:中輸入 http://keytool.sourceforge.net/update。

Step4:等到 Name 表中出現「Keytool」,勾選「Keytool」。

Step5:點擊Next。

Step6:當一切安裝完成時,在Eclipse 中會出現「Keytool」(如圖 2)。

圖 2 Keytool 按鈕圖

25
Step7:點擊 Keytool →Open keystore(如圖 3)。

圖 3 Open keystore

Step8:點擊「Browse」然後在.android 目錄下找到「debug.keystore」

Step9:輸入 android 為密碼。

Step10:雙擊「androiddebugkey」,顯示 MD5 Fingerprint。

這樣就取得 MD5 Fingerprint 了(如圖 4)。

圖 4 MD5 Fingerprint
再到 Maps API Key Signup 產生金鑰,下面網址可以連結到官方網站(如
圖 5)。
https://developers.google.com/maps/documentation/android/v1/maps-api-signup?hl=zh-TW

圖 5 Maps API Key

26
行動定位服務

本專題製作的台中美食 APP 系統,會使用到行動定位服務,這項服

務是基於 GPS 技術、提供使用者所在地點的相關服務;最重要的特徵是

提供有關使用者的地理位置資訊,並結合行動通訊設備的機動性,頻寬

及服務內容的創新,發展令人期待,更有大量應用於生活更多層面的發

展潛力。近年來隨著科技進步,行動通訊技術和地理資訊系統的快速發

展,使得各種行動定位服務應用及產品也迅速同步發展,使用者可透過

手機、平板電腦或汽車導航行動裝置,進行各種即時的空間位置加值應

用查詢自己所在地理座標。

行動定位服務有三個特性,定位化(location)、個人化(personal)

和即時性(time),在個人端的項目,主要分為行動安全、個人定位、導

航與興趣查詢、商業交易、遊戲與地點型影像管理、資產追蹤等等。以

下有幾個應用趨勢。

 目的地規劃與導航細緻化,步行亦可導航:

外出前往陌生地點工作或旅遊途中,難免發生迷路狀況,此時,

若能透過全球衛星定位系統,例如內建GPS 裝置的智慧型手

機,就可以藉由內建的完整裝置,輕易標示自己所在位置,而

且只要完成想去的地址或地點設定,就能導引使用者前往。不

過此類的導航功能,目前已是最基本的應用。此外過去認為行

人移動速度慢,加上GPS定位誤差程度,對步行移動來說誤差過

大,因此,較不重視個人步行移動的導航需求,但實際上走路

也會迷路,加上定位精確化,搭配網路輔助全球定位服務(A-GPS)

技術,對於短距離移動能較從前精確掌握。
27
 個人定位互動記錄最熱門:

許多資訊都可上網分享,特別是旅遊資訊,更是網路分享的大

熱門,不過許多人在旅遊後,都會面臨共同問題,就是眾多照

片已忘記是在何處拍攝?需要逐張整理、回想。此時GPS 功能

即可派上用場,雖在旅遊中GPS 可能就已經發揮導航功能,但

如果數位相機本身也內建GPS功能,旅遊過程中GPS會自動記錄

旅遊路線與空間座標,經處理寫入數位相片檔案的可交換圖像

格式中。

28
第三章 系統分析
本章節介紹系統功能圖、系統架構圖、系統流程圖、輸出/入規格,

和資料庫中的資料表格作欄位說明。

3-1 系統功能圖

我們製作的台中美食 APP 系統分為兩個部分,一邊是 client 端,另一

邊則是 Server 端(如圖 6)。

圖 6 系統功能圖

29
3-2 系統架構圖

Client 端這裡我們會要求使用者註冊資料,而這筆資料會傳送到

Server 端,Server 端再下達參數給 Access 資料庫,Access 資料庫再

把 Client 端要的資料回傳到他那邊(如圖 7)。

Access 資料庫存取
相關資料與多方使
用者共用資料。

Access 資料庫

透過 Client 端傳送
Client 端把
的 資 料 給 Server
註冊資料與
端,再下達參數給
查詢資料,傳
Access 資料庫,亦可
送給 Server
存取實驗結果。
端。 Server
Client

圖 7 系統架構圖

30
3-3 系統流程圖

APP 的流程一開始會問使用者是否有註冊過?如果沒有請先到立即

註冊填寫一些基本資料,註冊成功後就可以登入,使用者就能查詢商圈

夜市、店家、美食價格,以及做路線規劃(如圖 8)。

開始流程

立即註 no yes
是否已註冊? 登入畫面
冊畫面

輸入帳號密碼
yes
帳號未
輸入? 夜市商圈
列表畫面
no

yes
帳號是 店家列
路線規劃
否重複? 表畫面

no

no 美食價格
是否註 yes
冊成功?
顯示店
家菜單

圖 8 系統流程圖

31
3-4 輸出/入規格

Client(手機端)與 Server(連結 Access 資料庫)之間的交易介紹(表

10、表 11、表 12、表 13)。

表 10 註冊交易表
註冊交易
Client ERActivity.java
Server login.jsp
http://163.17.76.16/login.jsp?Name=A&Birthday=B
& Email=C &User =D &Pass =E
說明:
A:使用者的名字
上行電文
B:使用者的生日
C:使用者的電子信箱
D:使用者的帳號
E:使用者的密碼
<RSPN>X
說明:
下行電文 X=0:成功
X=1:帳號未輸入
X=2:帳號重覆
表 11 商圈夜市查詢交易表
商圈夜市查詢交易
Client DE.java
Server table1.jsp
上行電文 http://163.17.76.16/1/table1.jsp
<RSPN>X,Y
說明:
下行電文
X:商圈夜市的代號
Y:商圈夜市名稱

32
表 12 店家查詢交易表
店家查詢交易
Client B2Activity.java
Server food1.jsp
http://163.17.76.16/1/food1.jsp ?districtno=A
上行電文 說明:
A 是商圈夜市的代號
<RSPN>X,Y,Z,W
說明:
X:商圈夜市的代號
下行電文
Y:店家的代號
Z:店家名稱
W:地址
表 13 美食價格查詢交易表
美食價格查詢交易
Client ACt2Activity.java
Server middle1.jsp
http://163.17.76.16/1/middle1.jsp? storeno=A
上行電文 說明:
A 是店家的代號
<RSPN> X,Y,Z,W
說明:
X:商圈夜市的代號
下行電文
Y:店家的代號
Z:商品
W:價格

33
3-5 資料庫設計

資料庫名稱:aaaa

aaaa.mdb 資料庫分三個資料表,有 table1、food1、middle1。

table1 有兩個欄位依序是 districtno 與 district,而分別存放商圈夜

市的編號、商圈夜市名稱(如表 14)。food1 也有五個欄位依序是

districtno 與 storeno、store、address、phone 而分別存放商圈夜市

的編號、商店的編號、商店、地址、電話(如表 15)。

表 14 table1 資料表規格表

欄位名稱 資料類型 欄位大小 描述

districtno 文字 30 商圈夜市的編號

district 文字 30 商圈夜市名稱

表 15 food1 資料表規格表
欄位名稱 資料類型 欄位大小 描述
districtno 文字 30 商圈夜市的編號

storeno 文字 30 商店的編號

store 文字 30 商店

address 文字 30 地址

phone 文字 30 電話

34
middle1 四個欄位依序是 districtno 與 storeno、product、money 而

分別存放商圈夜市的編號、商店的編號、商品、價錢(如表 16)。

表 16 middle1 資料表規格表
欄位名稱 資料類型 欄位大小 描述
districtno 文字 30 商圈夜市的編號

storeno 文字 30 商店的編號

product 文字 30 商品

money 文字 30 價錢

資料庫名稱:qq

qq.mdb 資料庫有 qq 資料表,欄位分為是姓名、生日、電子信箱、帳號

密碼、註冊時間(如表 17)。

表 17 qq 資料表規格表
欄位名稱 資料類型 欄位大小 描述
姓名 文字 30 使用者的姓名

生日 文字 30 使用者的生日

電子信箱 文字 30 使用者的電子信箱

帳號 文字 30 使用者的帳號

密碼 文字 30 使用者的密碼

註冊時間 文字 30 使用者註冊的時間

35
第四章 操作說明
本章節主要是在介紹如何使用我們製作出來的 APP 流程及操作說明。

4-1 APP 系統畫面

主(登入)畫面:

當使用者進入一開始的 APP 時,我們所要呈現的第一個畫面如圖 9。首

先我們會請使用者先按立即註冊填寫資料,當出現註冊成功就代表註冊

好了,接下來按登入後就能使用的功能了。

圖 9 主(登入)畫面

36
立即註冊畫面:

使用者要使用此 App 時,請先填寫基本資料(姓名、生日、電子郵件、

帳號、密碼)如圖 10,才能使用此 App 的完整功能。

圖 10 立即註冊畫面

37
註冊成功畫面:

當使用者在立即註冊畫面如圖 11,填寫資料成功,系統就會出現快顯

訊息告訴您註冊成功。

圖 11 註冊成功畫面

38
帳號未輸入畫面:

當使用者未輸入「帳號」欄位,系統就會出現快顯訊息告訴您帳號未輸

入如圖 12,請再輸入一次。

圖 12 帳號未輸入畫面

39
帳號重複畫面:

當使用者的帳號有重複時,系統就會出現快顯訊息告訴您帳號重複如圖

13,請再換組帳號。

圖 13 帳號重複畫面

40
商圈夜市列表畫面:

登入成功後,會顯示圖 14 的畫面,使用者就可以選擇要去的夜市、商

圈,去查詢當地的美食資訊。

圖 14 商圈夜市列表畫面

41
商圈夜市店家列表畫面:

當使用者選擇了某一商圈夜市後,會顯示此商圈夜市的店家資訊,如圖

15,使用者可以選擇要去吃的店家,查詢店家的路線、美食價格。

圖 15 商圈夜市店家列表畫面

42
店家資料查詢畫面:

當使用者選了某個店家後,會出現圖 16 的畫面,使用者就能點選路線

規劃或美食價格,來查詢目的地的地圖或查看店家的美食價格。

圖 16 店家資料查詢畫面

43
路線規劃畫面:

當使用者點選路線規劃按鈕後,顯示圖 17,接著就可以為某個店家做

路線規劃,而這裡我們把 A 代表為使用者的現在位置,B 代表為目的地。

此外使用者可以依自己需求,選擇要哪種交通工具(步行、行車、大眾

運輸)。

圖 17 路線規劃畫面

44
美食價格畫面:

當使用者點選完美食價格按鈕後,顯示圖 18,就可以看到店家的菜單

與價格。

圖 18 美食價格畫面

45
第五章 問題討論
本章節主要敘述我們在製作專題時所遇到的難題,在此我們會做一

個探討與如何解決問題。

Android:剛開始我們對 Android 有點陌生,所以在 2011 年 12 月

的期間參加一場 Android 程式開發研習,讓我們瞭解了 Android 程式是

以 Java 語言所撰寫,所以要安裝 Java 開發工具;而編輯環境是使用

Eclipse 套件執行,故需要 Eclipse 完整套件;再加上 Android 開發工

具及外掛就構成 Android 開發環境(圖 19)。

2012 年 4~5 月的期間也參加一場 Android 基 本 程 式 設 計 輔 導

課,讓 我 們 在 製 作 專 題 時,更 容 易 上 手,而 不 太 懂 的 架 構、程 式

也 藉 由 這 次 機 會 請 教 講 師,排 除 我 們 的 難 題。我 們 在 撰 寫 程 式 過

程 中,常 常 遇 到 困 難,程 式 撰 寫 錯 誤、程 式 跑 不 起 來、作 業 環 境

版 本 不 同 的 等 等 問 題,所 以 有 指 導 老 師 的 幫 助 下,才 能 讓 我 們 順

利完成。

Eclipse:eclipse 編輯器

Java:java 開發工具

Android:ADT+ Android+SDK

圖 19 Android 開發環境需要套件圖

46
Jsp:Jsp 連接 Access 資料庫,這部分是我們遇到最大的瓶頸,那時因

為無法連接,導致在撰寫手機程式的時候沒有辦法做相互連結,所以打

亂了我們預先規劃的時間表,最後我們請教指導老師及上網找些資料,

才可以繼續我們的進度。

而所發生的問題是:當我們再執行 jsp 時會跑出以下錯誤訊息(圖 20)。

java.sql.SQLException:[Microsoft][ODBC 驅動程式管理員]找不到

資料來源名稱且未指定預設的驅動程式。

圖 20 未指定預設驅動程式圖

為什麼會發生此問題呢?是因為 Microsoft Office Access 並不提供

64 位元的 ODBC Driver,也因此在 Windows 64 bit 的作業系統上,若

要使用 ODBC 存取 Access 資料庫,就可能會發生像我們碰到的這個問

題,所以我們要選擇環境是 32bit 作業系統的電腦才能正確設定 ODBC。

47
要如何用 JSP 連結 ACCESS 資料庫?

首先電腦環境作業系統要使用→Windows XP 32 位元。

準備使用工具是→Web Server:Apache Tomcat 6.0,DB:Access 2003。

我們要製作一個立即註冊的流程,client 端在 eclipse 程式中要

準備一個 ERActivity.java 供使用者輸入姓名、生日、電子信箱、帳號

及密碼,server 端處理此交易的程式是 login.jsp,姓名、生日、電子

信箱、帳號及密碼存在一個 qq.mdb 的 Access 2003 資料庫中的 qq 資料

表中,qq 資料表的結構,有 5 個欄位依序是,姓名、生日、電子信箱、

帳號、密碼(如圖 21),我們都是設定為文字類型。

圖 21 Access 資料庫欄位

Step1 準備 ERActivity.java(表 18)。

表 18 ERActivity.java 部分程式碼
class MyThread extends Thread{
public void run() {
// TODO Auto-generated method stub
try{
HttpClient client = new DefaultHttpClient();
String cmd = "http://163.17.76.16/login.jsp?Name=" +
nuser + "&Birthday=" + nuser1 + "&Email=" +
nuser2 + "&User=" +nuser3 + "&Pass=" +nuser4;
System.out.println("***cmd=" + cmd);
HttpGet get = new HttpGet(cmd);
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
BufferedReader reader = new BufferedReader( new
InputStreamReader(entity.getContent()));
String raw,msg="";

48
Step2:接著設定資料庫 qq.mdb 的 ODBC

開始→設定→控制台→系統管理工具(圖 22)。

圖 22 系統管理工具

按完系統管理工具→請找到資料來源(ODBC)開啟它→就會看到圖 23 的

ODBC 資料來源管理員視窗。

圖 23 資料來源(ODBC)

49
接著按系統來源名稱→按新增(圖 24)。

圖 24 ODBC 資料來源管理員

再來是點選 Microsoft Access Driver(*.mdb) →按完成(圖 25)。

圖 25 建立新資料來源

50
自訂資料來源名稱,在 login.jsp 會用到。再按資料庫的「選取」,選

取你的資料庫檔案所在的磁碟機、目錄、資料庫檔案,按「確定」,回

到「ODBC Microsoft Access 設定」,再按一次「確定」(圖 26)。

圖 26 ODBC 設定與選取資料庫

就會看到「系統資料來源」中,多了一個剛才新增的「qq」,記住這個

名稱,按「確定」(圖 27)。

圖 27 ODBC 建立完成結果

51
Step3:準備 login.jsp(表 19)

表 19 login.jsp 程式碼
<%@ page contentType="text/html;charset=big5" %>
<%@ page import= "java.sql.*, java.util.Date" %>
<%
String JDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String connectDB="jdbc:odbc:qq";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:qq","","");
Statement stmt = con.createStatement();
ResultSet Rs;
request.setCharacterEncoding("big5");
String name= request.getParameter("Name");
String birthday = request.getParameter("Birthday");
String email = request.getParameter("Email");
String pass = request.getParameter("Pass");
String user = request.getParameter("User");
String test = request.getParameter("Test");
if(user=="") {
out.print("<RSPN>1");
}
else{
Rs = stmt.executeQuery("Select * From qq where 帳號= '" + user + "'");
if(Rs.next()) {
out.print("<RSPN>2");
}
else{
Date loginDate= new Date();
long timeL= loginDate.getTime();
int timeInt= (int)(timeL/1000);
String time= loginDate.toLocaleString();
String addrStr= request.getRemoteAddr();
String sql= "INSERT INTO qq(姓名,生日,電子信箱,帳號,密碼,
註冊時間)" +"VALUES('" + name
+ "','" + birthday + "','" + email + "','" + user + "','"
+ pass+ "','" + time+"')";
stmt.executeUpdate(sql);
out.print("<RSPN>0");
}
}
stmt.close();
con.close();
%>
52
從Android 透過Http Get 連結Apache Tomcat 取回資料顯示在List View 中:

首先要準備一個 table1.jsp 程式(表 20),放在 Apache Tomcat 的網站 ROOT

中,被呼叫時,會傳回一串資料:

表 20 table1.jsp 程式碼

<%@ page contentType="text/html; charset=utf-8" %>

<%@ page import="java.sql.*" %>

<%

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:aaaa";

Connection conn = DriverManager.getConnection(url);

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("Select * FROM table1");

while(rs.next()){

out.println("<RSPN>"+rs.getString(1)+","+rs.getString(2));

rs.close();

stmt.close();

conn.close();

%>

其中第 1 行,是確保傳到 Android 端時的中文不會變亂碼。若使用:<%@ page

contentType="text/html;charset=big5" %>中文會出現亂碼。

53
接著在 Android 中建立一個專案,其中的主程式,檔名為 DE.java(表 21)。

注意:原先我們在 ListActivity 的方法中,是使用 setContentView()方法

但是會出現錯誤,所以必須改使用 onCreate()方法。

表 21 DE.java 部分程式碼

public class DE extends ListActivity {

private ArrayList<HashMap<String,String>> datas;

private ArrayList<HashMap<String,String>> datas2;

private MyHandler handler;

protected void onListItemClick(ListView l, View v, int position, long id) {

// TODO Auto-generated method stub

String sel=l.getItemAtPosition(position).toString();

System.out.println(sel);

System.out.println(position);

System.out.println(datas2.get(position).get("MarketNameNO"));

Intent intent = new Intent (this,B2Activity.class);

Bundle bundle = new Bundle();

bundle.putString("MarketNameNO", datas2.get(position).get("MarketNameNO"));

intent.putExtras(bundle);

startActivity(intent);

super.onListItemClick(l, v, position, id);}

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// setContentView(R.layout.main3);

handler = new MyHandler(); //傳資料用

System.out.println("********11111111*******" );
54
記得「android.permission.INTERNET」的權限要開放。

執行結果就會像圖 28:

圖 28 執行結果畫面

55
第六章 結論

我們的動機是希望使用 app 可以促進觀光發展與推動台灣飲食文


化與在地美食。目的是為了方便讓遊客可以有效率的找尋想吃的美食小
吃,並能快速的規劃路線,也準確的知道店家的目的地;對於未來發展
希望可以讓使用者自行增加商圈及夜市、店家,或是增設針對個人的功
能,像是日記可以寫下自己再享用美食的心得與感想、張貼照片;也不
要局限於台中可以增加其他縣市,拓展到台灣各地美食和在地文化。

而在製作專題時讓我們學習到課堂所沒有遇到過的問題。雖然上
程式設計的課程,有實作這塊技術,不過都只是資料輸出畫面。我們
運用 JSP 程式連結 Access 資料庫再由 Java 程式撈取 Access 資料庫的
資料,再結合 Android 系統 app 這項技術,呈現於智慧型手機上。

近幾年,由於智慧型手機邁向國際市場,使用 Android app 系統


的人也越來越頻繁,對於發展空間可說是持續發燒中。

我們參加 Android 研習課程中讓我們學習到有關 App 的開發。如下:

Android 手機 UI 與多媒體程式開發
以 Android 行動手機常見之應用:UI 使用者介面、選單等。從視覺的角
度切入,進而導入程式設計、以及物件導向的觀念。當中還有
PV3D(Flash 外掛 3D 技術)以及 Google Map 等物件的運用技巧,了解整
個視覺介面的程式設計觀念與技巧。
Android 手機系統與應用程式開發

運用 Android SDK(軟體開發套件)來開發可在手機上應用的程式,並且
能夠運用手機內置的系統功能與 Sensor 來規劃開發手機的應用程式。

希望在未來我們能繼續學習,幫助企業及大眾發揮我們無限的創
意及想法,並運用在生活或工作上。
56
參考文獻
[1] 鄧文淵,2012,Android 初學特訓班,台北市,基峯。

[2] 蓋索林,2011,Android3 手機應用程式設計入門(第 4 版),新北市,松崗。

[3] 張仁峰,(2012,3):Eclipse 簡介與教學,台北市,國立台灣大學。

[4] 宮本信二,2011,Eclipse 完全攻略,台北市,博碩文化。

[5] 賈蓉生,及胡大源和胡心鎰,2009,Java/JSP 經典案例,台北市,松崗。

[6] 蘇文德及陳穎涵,2011,舞動 ACCESS2003 中文版,台北市,易習圖書。

[7] 施威銘,2004,資料庫理論與實務 ACCESS2003,台北市,旗標。

57

You might also like