Professional Documents
Culture Documents
資管四乙台中美食APP
資管四乙台中美食APP
資訊管理系
台中美食 APP
組長:BF98080 邱佳瑩
組員:BF98073 王雅芳
BF98081 楊雅棉
指 導 教 師 :廖 俊 威
中 華 民 國 一 0 一 年 十 二 月
修平科技大學
資訊管理系
專題實務報告審定書
本 系 日 間 部 四 技 部
組長:BF98080 邱佳瑩
組員:BF98073 王雅芳
BF98081 楊雅棉
所 提 報 告 台 中 美 食 APP
經 本 委 員 會 評 審 通 過 。
口試委員:
指導老師:
中 華 民 國 一 0 一 年 十 二 月
摘要
隨著社會進步,人們工作也愈來愈忙碌,雖然薪水不見得比較多,
但休閒活動有愈來愈被重視的趨勢,人們開始重視生活品質,吃也要享
受美食,不再只求溫飽。台中有很多觀光夜市、商圈,有很多好吃的美
食,許多遊客慕名而來,卻常常為了找不到那間著名的店家而花費許多
時間,掃了遊興。於是我們利用可隨時行動上網的手機與平板電腦,在
APP,提供使用者知道更多的美食導覽資訊。
因為手機功能越來越多元化,除了最基本的接聽及傳簡訊和拍照
量輕薄,螢幕與小筆電差不多,但更好攜帶,所以讓人們的生活更便利,
可以隨時拿出手機及平板電腦來查詢所需要的資訊。
因此結合行動裝置與台中美食 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
ii
2-5 Apache HTTP Server 簡介 ............................ 23
2-6 Microsoft Office Access 簡介 ....................... 24
2-7 Google Map 簡介 .................................... 25
專題報告典藏資料表。)
iii
表目錄
表 1 工作進度表 ............................................. 2
表 2 工作分配表 ............................................. 3
表 3 軟體需求表 ............................................. 4
表 4 硬體需求表 ............................................. 4
表 5 HTC Sensation z710e 手機規格表 ......................... 5
表 12 店家查詢交易表 ....................................... 33
表 13 美食價格查詢交易表 ................................... 33
表 14 table1 資料表規格表 .................................. 34
iv
圖目錄
圖 1 資料庫系統圖 .......................................... 24
圖 2 Keytool 按鈕圖.......................................... 25
圖 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
vi
第一章 前言
本章節說明研究動機及目的、專題簡介、以及工作進度表、和現況
與自己專題之差異、軟硬體需求。
1-1 研究動機與目的
在日常生活中,吃是我們每天不可或缺的,對於現今社會,人們注
重悠閒生活,必然會選擇許多光觀地區旅遊。當我們在旅遊當中,更會
想要了解當地美食、所在地,在全球經濟不景氣的情況下,對於價格人
們也很講究。我們多以選擇平民美食,價位尚可接受範圍和人氣美食,
所以促成我們製作本專題的動機。
1-2 簡介
食小吃,不用煩惱今天到底要吃什麼的困擾外,提供菜單給大家比較價
位,更可以解決價位上的問題。也不用怕價位太昂貴,因為我們會呈現
出在地的人氣美食,這些店家也是從電視、電影、網路得知訊息,由明
星藝人推薦,親朋好友介紹,不會令饕客失望的美食。
資料,顯示在手機端。
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 軟、硬體需求
專題時測試用的手機及平板電腦做介紹,分別如表 5、表 6 及表 7。
表 3 軟體需求表
瀏覽工具 IE6.0 以上
表 4 硬體需求表
CPU Pentium(R)4
RAM 2.0GB 以上
H.D.D 30GB 以上
CD-ROM 50X
螢幕 20 吋
週邊配備 鍵盤、滑鼠
4
HTC Sensation z710e 手機規格介紹
硬體 規格
記憶體 768MB
主相機 8M
前相機 VGA
藍芽 3.0
軟體 規格
Android 2.3.4 版本
5
SAMSUNG GALAXY Gio S5660 手機規格介紹
硬體 規格
螢幕大小 3.2 吋
相機 300 萬畫素相機
軟體 規格
Android 2.3.4 版本
6
ASUS Transformer Pad TF300T 平板電腦規格介紹
硬體 規格
10.1”LED 背光 WXGA(1280800)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 簡介
執行作業環境(AndroidRuntime),和應用程式開發平台(Appliction
需求會越來越大,市場商機也將日益龐大[1]。
84 家硬體製造商、手機晶片供應商、軟體開發商及電信營運商成立開
手機,Android 作業系統後來更逐漸拓展到平板電腦及其他領域上[2]。
8
2-1-1 Android 特點
Android 的功能不足或介面不夠美觀,可以自行修改以符合自己的需求[1]。
多工系統:Android 系統可同時執行多個應用程式,是完整的多工環
境。同時具備獨特的「通知」機制,應用程式在背景執行,必要時可以
產生通知來引起使用者注意。例如:我們再開車使用手機導航裝置系統
時,如果有人打電話進來鈴聲會響起,可以接聽電話,同時導航裝置系
統認仍在運行當中[1]。
滿足不同使用者在不同場合的需求。虛擬鍵盤可在任何要輸入文字的應
用程式中使用,包括電子郵件、瀏覽器、文書處理等,但目前的智慧型
手機已經沒有實體鍵盤,完全以虛擬鍵盤方式輸入[1]。
媒體支援能力:Android 支援多種音訊、靜態視訊、動態視訊格式,如
MPEG-4、H.264、MP3、AAC、AMR、JPG、PNG、GIF 等。
攝影機、GPS 定位、羅盤、加速度感測器:屬於硬體層次的功效,Android
主要是在軟體層面提供支援,如硬體抽象層、應用程式介面等。
9
SQLite 資料庫:它是一套開放原始碼的關連式資料庫,其特點在於輕量性
(僅 500KB 左右的容量),適合手持式裝置運用,此外桌上型運算的應用程式
藍牙、EDGE、3G、以及 Wi-Fi:這些通訊能力屬於硬體層次的功效要求。
量 JavaScript 指令及複雜的網頁應用時,更可以體驗其佳性能[1]。
SDK,不但具備舒適的程式撰寫環境,而且有相當強悍的除錯能力,大
器,撰寫程式後可直接在模擬器上執行,而不需要每次都大費周章的安
裝到實體機上測試,如此可節省大量程式修改測試的時間[1]。
設安裝了五個桌面 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.1.x)果凍豆/雷根糖Jelly Bean
1.5 紙杯蛋糕版本(2009 年 4 月 30 日)
相機在啟動速度加快,拍攝圖片可以直接上傳到 Picasa、也可以
拍攝播放影片,並支援上傳到 Youtube。主螢幕增加音樂播放器和相框
widgets。聽音樂時可使用立體聲的藍芽耳機,而基本的功能簡訊、
Gmail、日暦,瀏覽器的使用者介面也都大幅改進;還有衛星導航 GPS
效能也大大提高。並且提供螢幕虛擬鍵盤、當我們在使用應用程式也會
自動隨著智慧型手機旋轉。通訊錄還可以設定來電照片顯示。
1.6 甜甜圈版本(2009 年 9 月 15 日)
Android1.6 版本進一步加強了操作系统的搜尋功能,隨著用戶
使用時間的搜尋结果將更加準確。Andorid1.6 在操作界面上將沒有
太大的改變,相機的拍照功能有全新的介面,相機、攝影機和照片
到更新。
12
2.1 閃電泡芙版本(2009 年 10 月 26 日)
全新的瀏覽器書籤表現方式、全新的圖片庫閱讀介面、更加完整強大的
相機支援功能、全新的瀏覽器使用情境、改善虛擬鍵盤設計,使操作更
加便利、提昇硬體運算速度、動態桌面等,實際升級支援的細節則要待
測試確認軟硬體相互配合狀況。
2.2 冷凍優格版本(2010 年 5 月 20 日)
程式語言編寫,用來提高應用程序性能的最簡單的工具)。
13
2.3.x 薑餅版本(2010 年 12 月 7 日)
度的用戶介面,更快、更直覺的文字輸入、一觸式的文字選擇及複製、
貼上,改進的電源管理、軟件上控制、新的通訊及管理方式、下載管理
及拍攝支援等。
3.x.x 蜂巢版本(2011 年 2 月 2 日)
Widget (或 App)可嵌入於桌面上待機使用外,各項所開啟內容亦
可以堆疊的方式放置於桌面上,同時亦可翻閱開啟或關閉。Gmail 新增
的功能,當我們要編寫新信件的時候可以附加上親筆畫出的筆跡。
4.0.x 冰淇淋三明治版本(2011 年 10 月 19 日)
程序列表由以往的上至下方式更改為左右頁翻,這樣感覺上會較容
易找到所需要的 App。而實體按鍵取消,取而代的是在介面上的虛擬按
鍵,包括返回、主頁及選單,內置相機提供即是修改功能,如大眼功能
會在畫面上先出現大眼後的畫面再拍攝,照片亦可在拍攝外作出修改如
能 及 強 制 檢 視 桌 面 版 網 頁 功 能 , WiFi Direct 提 供 與 其 他 裝 置 除
tethering)。
14
4.1.x 雷根糖版本(2012 年 6 月 28 日)
還有鍵盤輸入新增學習預測字也支援了離線語音輸入。當我們要看照片
時,兩指縮小之後可以左右撥動切換前後張照片,看到不想要的照片可
只能傳送簡單的內容,現在可以拿來傳照片、影片,用的傳送方式應該
是藍芽。然後通知列的部分,多了一些功能,例如有未接來電,可以直
接回撥或是傳送簡訊。
15
2-2 Eclipse 簡介
它同時還是一個各種工具程式的整合平台,主要目的是建立一個多用途
介面平台的目標。
是 由 藍 色 巨 人 IBM 所 釋 出 。 IBM 花 了 4 千 萬 美 金 來 開 發 這
應用程式開發上[3]。
1.平台-Platform
Interface(UI)、核心(Core)及除錯(Debug)。PDE 子專案包含兩各元
件:UI 與 Core[4]。
16
2-2-1 Eclipse SDK
Point)和外掛程式的模型,可動態地定義和維持外掛程式的註冊資訊。
工作區(Workspase)是負責資源管理(Resource Management),透過檔案
系統管理各種資源(專案、檔案害資料夾等)。工作台(Workbench)是使
式容許其他外掛程式來定義和登錄團隊程式設計、儲存庫存取和版本化
的實作。此外,其他的外掛程式也都是以延伸點外掛至 Eclipse。
17
2-3 JSP 簡介
的 ,是建立動態網頁之程式技術,編輯在網路端(Server 端),任意一
個 Client 端 可 依 網 路 網 址 開 啟 網 頁 , 經 由 該 網 頁 與 網 站 作
Server/Client 資訊互動[5]。
服 servlet 不易開發的這個問題,而發展出來的一種伺服端網頁技術。
容器會將他先轉譯回 Servlet,再加以執行,但是在編譯之後,使用者
網頁時,就不用再進行編譯的工作。
18
2-3-2 Java Servlet
Java 編寫的伺服器端程序,其主要功能在於互動式地瀏覽和修改數
伺服器中。從實現上講,Servlet 可以響應任何類型的請求,但絕大多
(1) 讓網頁開發人員能以建構靜態網頁的方式建構動態網頁。
(3)Java 具有跨平台的能力。
需功能。
19
2-4 Tomcat 簡介
Tomcat 是 一 個 免 費 且 開 放 原 始 碼 的 Servlet 容 器 , 專 為
Tomcat6.0 版環境。
20
2-4-1 Tomcat 演進版本
表 8 Tomcat 演進版本表(一)
Tomcat 演進版本
Tomcat 3.x
2.Servlet 更新。
Tomcat 4.x
21
表 9 Tomcat 演進版本表(二)
Tomcat 演進版本
Tomcat 5.x
2.精簡的垃圾收集系統。
5.重構過的應用程序發布環境。
Tomcat 6.x
2.支持統一表達式語言 2.1。
5.不同於過去版本,未集成管理員(admin)控制台。
22
2-5 Apache HTTP Server 簡介
Apache 起初由伊利諾大學的國家超級電腦應用中心開發,由於其
安全性被廣泛使用,是最流行的Web 伺服器端軟體之一,不斷的發展
和加強之後,擁有牢靠可信的美譽讓現在全球超過半數的網站中使用。
23
2-6 Microsoft Office Access 簡介
使用者可以透過資料庫管理系統去操作、存取資料庫(圖 1),還能
並提供修正錯誤的選項。
Access 資料庫共有資料表、查詢、表單、報表、資料頁、巨集及
模組等七大物件。而資料表表示真正存放資料的地方。若想從資料表中
依條件尋找資料,則需建立查詢;那如果要建立漂亮的畫面,就要設計
表單;要列印資料時,就要做成報表;想把資料做成網頁,就要製作成
資料頁。至於巨集及模組則是運用在這些介面上,增加我們在操作上的
便利及增強功能[7]。
資料庫
Access 應用程式
資料
軟體
圖 1 資料庫系統圖
24
2-7 Google Map 簡介
包括局部詳細的衛星照片,還能提供三種視圖。一、向量地圖(傳統地
樣)。三、地形地圖(顯示地形和等高線)。
使用指令完成,那對於指令不熟該怎麼辦?以下就是不須透過指令,也
Step1:打開 Eclipse。
Step5:點擊Next。
圖 2 Keytool 按鈕圖
25
Step7:點擊 Keytool →Open keystore(如圖 3)。
圖 3 Open keystore
Step8:點擊「Browse」然後在.android 目錄下找到「debug.keystore」
。
圖 4 MD5 Fingerprint
再到 Maps API Key Signup 產生金鑰,下面網址可以連結到官方網站(如
圖 5)。
https://developers.google.com/maps/documentation/android/v1/maps-api-signup?hl=zh-TW
26
行動定位服務
提供有關使用者的地理位置資訊,並結合行動通訊設備的機動性,頻寬
及服務內容的創新,發展令人期待,更有大量應用於生活更多層面的發
展潛力。近年來隨著科技進步,行動通訊技術和地理資訊系統的快速發
展,使得各種行動定位服務應用及產品也迅速同步發展,使用者可透過
手機、平板電腦或汽車導航行動裝置,進行各種即時的空間位置加值應
用查詢自己所在地理座標。
行動定位服務有三個特性,定位化(location)、個人化(personal)
和即時性(time),在個人端的項目,主要分為行動安全、個人定位、導
航與興趣查詢、商業交易、遊戲與地點型影像管理、資產追蹤等等。以
下有幾個應用趨勢。
目的地規劃與導航細緻化,步行亦可導航:
外出前往陌生地點工作或旅遊途中,難免發生迷路狀況,此時,
若能透過全球衛星定位系統,例如內建GPS 裝置的智慧型手
機,就可以藉由內建的完整裝置,輕易標示自己所在位置,而
且只要完成想去的地址或地點設定,就能導引使用者前往。不
過此類的導航功能,目前已是最基本的應用。此外過去認為行
人移動速度慢,加上GPS定位誤差程度,對步行移動來說誤差過
大,因此,較不重視個人步行移動的導航需求,但實際上走路
也會迷路,加上定位精確化,搭配網路輔助全球定位服務(A-GPS)
技術,對於短距離移動能較從前精確掌握。
27
個人定位互動記錄最熱門:
許多資訊都可上網分享,特別是旅遊資訊,更是網路分享的大
熱門,不過許多人在旅遊後,都會面臨共同問題,就是眾多照
片已忘記是在何處拍攝?需要逐張整理、回想。此時GPS 功能
即可派上用場,雖在旅遊中GPS 可能就已經發揮導航功能,但
如果數位相機本身也內建GPS功能,旅遊過程中GPS會自動記錄
旅遊路線與空間座標,經處理寫入數位相片檔案的可交換圖像
格式中。
28
第三章 系統分析
本章節介紹系統功能圖、系統架構圖、系統流程圖、輸出/入規格,
和資料庫中的資料表格作欄位說明。
3-1 系統功能圖
圖 6 系統功能圖
29
3-2 系統架構圖
Client 端這裡我們會要求使用者註冊資料,而這筆資料會傳送到
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 輸出/入規格
表 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
的編號、商店的編號、商店、地址、電話(如表 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
密碼、註冊時間(如表 17)。
表 17 qq 資料表規格表
欄位名稱 資料類型 欄位大小 描述
姓名 文字 30 使用者的姓名
生日 文字 30 使用者的生日
電子信箱 文字 30 使用者的電子信箱
帳號 文字 30 使用者的帳號
密碼 文字 30 使用者的密碼
註冊時間 文字 30 使用者註冊的時間
35
第四章 操作說明
本章節主要是在介紹如何使用我們製作出來的 APP 流程及操作說明。
主(登入)畫面:
先我們會請使用者先按立即註冊填寫資料,當出現註冊成功就代表註冊
好了,接下來按登入後就能使用的功能了。
圖 9 主(登入)畫面
36
立即註冊畫面:
圖 10 立即註冊畫面
37
註冊成功畫面:
當使用者在立即註冊畫面如圖 11,填寫資料成功,系統就會出現快顯
訊息告訴您註冊成功。
圖 11 註冊成功畫面
38
帳號未輸入畫面:
當使用者未輸入「帳號」欄位,系統就會出現快顯訊息告訴您帳號未輸
入如圖 12,請再輸入一次。
圖 12 帳號未輸入畫面
39
帳號重複畫面:
當使用者的帳號有重複時,系統就會出現快顯訊息告訴您帳號重複如圖
13,請再換組帳號。
圖 13 帳號重複畫面
40
商圈夜市列表畫面:
登入成功後,會顯示圖 14 的畫面,使用者就可以選擇要去的夜市、商
圈,去查詢當地的美食資訊。
圖 14 商圈夜市列表畫面
41
商圈夜市店家列表畫面:
當使用者選擇了某一商圈夜市後,會顯示此商圈夜市的店家資訊,如圖
15,使用者可以選擇要去吃的店家,查詢店家的路線、美食價格。
圖 15 商圈夜市店家列表畫面
42
店家資料查詢畫面:
當使用者選了某個店家後,會出現圖 16 的畫面,使用者就能點選路線
規劃或美食價格,來查詢目的地的地圖或查看店家的美食價格。
圖 16 店家資料查詢畫面
43
路線規劃畫面:
當使用者點選路線規劃按鈕後,顯示圖 17,接著就可以為某個店家做
此外使用者可以依自己需求,選擇要哪種交通工具(步行、行車、大眾
運輸)。
圖 17 路線規劃畫面
44
美食價格畫面:
當使用者點選完美食價格按鈕後,顯示圖 18,就可以看到店家的菜單
與價格。
圖 18 美食價格畫面
45
第五章 問題討論
本章節主要敘述我們在製作專題時所遇到的難題,在此我們會做一
個探討與如何解決問題。
也 藉 由 這 次 機 會 請 教 講 師,排 除 我 們 的 難 題。我 們 在 撰 寫 程 式 過
版 本 不 同 的 等 等 問 題,所 以 有 指 導 老 師 的 幫 助 下,才 能 讓 我 們 順
利完成。
Eclipse:eclipse 編輯器
Java:java 開發工具
Android:ADT+ Android+SDK
圖 19 Android 開發環境需要套件圖
46
Jsp:Jsp 連接 Access 資料庫,這部分是我們遇到最大的瓶頸,那時因
為無法連接,導致在撰寫手機程式的時候沒有辦法做相互連結,所以打
亂了我們預先規劃的時間表,最後我們請教指導老師及上網找些資料,
才可以繼續我們的進度。
java.sql.SQLException:[Microsoft][ODBC 驅動程式管理員]找不到
資料來源名稱且未指定預設的驅動程式。
圖 20 未指定預設驅動程式圖
47
要如何用 JSP 連結 ACCESS 資料庫?
首先電腦環境作業系統要使用→Windows XP 32 位元。
帳號、密碼(如圖 21),我們都是設定為文字類型。
圖 21 Access 資料庫欄位
表 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 資料來源管理員
圖 25 建立新資料來源
50
自訂資料來源名稱,在 login.jsp 會用到。再按資料庫的「選取」,選
取你的資料庫檔案所在的磁碟機、目錄、資料庫檔案,按「確定」,回
圖 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 中:
中,被呼叫時,會傳回一串資料:
表 20 table1.jsp 程式碼
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
while(rs.next()){
out.println("<RSPN>"+rs.getString(1)+","+rs.getString(2));
rs.close();
stmt.close();
conn.close();
%>
contentType="text/html;charset=big5" %>中文會出現亂碼。
53
接著在 Android 中建立一個專案,其中的主程式,檔名為 DE.java(表 21)。
但是會出現錯誤,所以必須改使用 onCreate()方法。
表 21 DE.java 部分程式碼
String sel=l.getItemAtPosition(position).toString();
System.out.println(sel);
System.out.println(position);
System.out.println(datas2.get(position).get("MarketNameNO"));
bundle.putString("MarketNameNO", datas2.get(position).get("MarketNameNO"));
intent.putExtras(bundle);
startActivity(intent);
super.onCreate(savedInstanceState);
// setContentView(R.layout.main3);
System.out.println("********11111111*******" );
54
記得「android.permission.INTERNET」的權限要開放。
執行結果就會像圖 28:
圖 28 執行結果畫面
55
第六章 結論
而在製作專題時讓我們學習到課堂所沒有遇到過的問題。雖然上
程式設計的課程,有實作這塊技術,不過都只是資料輸出畫面。我們
運用 JSP 程式連結 Access 資料庫再由 Java 程式撈取 Access 資料庫的
資料,再結合 Android 系統 app 這項技術,呈現於智慧型手機上。
Android 手機 UI 與多媒體程式開發
以 Android 行動手機常見之應用:UI 使用者介面、選單等。從視覺的角
度切入,進而導入程式設計、以及物件導向的觀念。當中還有
PV3D(Flash 外掛 3D 技術)以及 Google Map 等物件的運用技巧,了解整
個視覺介面的程式設計觀念與技巧。
Android 手機系統與應用程式開發
運用 Android SDK(軟體開發套件)來開發可在手機上應用的程式,並且
能夠運用手機內置的系統功能與 Sensor 來規劃開發手機的應用程式。
希望在未來我們能繼續學習,幫助企業及大眾發揮我們無限的創
意及想法,並運用在生活或工作上。
56
參考文獻
[1] 鄧文淵,2012,Android 初學特訓班,台北市,基峯。
57