基于Android云計算的移動點餐系統(tǒng)
摘 要:系統(tǒng)發(fā)揮Android 富有創(chuàng)造力和想象力的云應(yīng)用開發(fā),實現(xiàn)一套Android 客戶端軟件和完善的后臺服務(wù)功能來完成點餐功能。該系統(tǒng)主要包括后臺數(shù)據(jù)庫服務(wù)器、WEB 服務(wù)器、無線網(wǎng)絡(luò)、Android 前端等部分??蛻舳薃ndroid 系統(tǒng)智能手機具有前端處理與計算能力,而且通過無線網(wǎng)絡(luò)訪問WEB 服務(wù)器,如果需要數(shù)據(jù)訪問,則訪問后臺數(shù)據(jù)庫。介紹了系統(tǒng)架構(gòu)的設(shè)計與搭建、技術(shù)選型、后臺數(shù)據(jù)庫的設(shè)計與實現(xiàn)、基本實用的點餐功能的分析、設(shè)計與開發(fā)。
本文引用地址:http://butianyuan.cn/article/148487.htm移動互聯(lián)網(wǎng)時代來臨,一個嶄新的時代開始了!
所謂移動互聯(lián)網(wǎng)就是將移動通信和互聯(lián)網(wǎng)整合在一起,是移動設(shè)備(包括手機和上網(wǎng)本)可以隨時隨地訪問互聯(lián)網(wǎng)資源和應(yīng)用。
云是由許多水分子組成的,幾乎有幾億個。云沒有中央控制,基本上可以隨風吹向各處。從這個角度來說,Internet 中無數(shù)個具有各種用途的客戶機和服務(wù)器以及驅(qū)動其發(fā)展的控制實體就像是云。將這一概念與移動設(shè)備帶給我們的無線數(shù)據(jù)革命結(jié)合后,我們似乎就處在一種無形的云計算力量中了。
智能手機是移動互聯(lián)網(wǎng)時代一個標志性的客戶端工具,具有強大的移動云計算和儲存能力,可以通過移動通信網(wǎng)絡(luò)來實現(xiàn)無線網(wǎng)絡(luò)接入,從而實現(xiàn)各種各樣的富有創(chuàng)造力和想象力云應(yīng)用。
云計算將可移植設(shè)備與強大的服務(wù)器互為補充,它需要一個能夠讓服務(wù)器架構(gòu)師和程序員最大程度利用小型客戶機機器的操作系統(tǒng)。Android 就是這樣一種操作系統(tǒng)。
傳統(tǒng)的餐飲行業(yè),點餐過程都是有餐廳服務(wù)員人工完成的。通常過程是這樣的,客人進入餐廳后,選好座位開始點餐,服務(wù)員等待客人點餐完成,將客人的點餐內(nèi)容送到廚房,有廚師下廚做菜。這一過程對一個小的餐館來說沒有問題,但如果餐館比較大、客人比較多或者客人要求某位不在餐廳現(xiàn)場的服務(wù)員或老板服務(wù),客人的等待時間就會比較長。為了解決這個問題,出現(xiàn)了無線點餐系統(tǒng),該系統(tǒng)有無線終端(一般是一個PDA)、無線路由器和后臺服務(wù)器組成。
但它的弊端很明顯,要么PDA 價格高、只能做點餐用、增加系統(tǒng)成本、造成資源浪費等,要么基于傳統(tǒng)開發(fā)手段開發(fā)的B/S 系統(tǒng)架構(gòu)的點餐系統(tǒng),但往往在實際應(yīng)用中速度不盡人意。
1 系統(tǒng)設(shè)計
1.1 系統(tǒng)物理架構(gòu)
該系統(tǒng)主要包括后臺數(shù)據(jù)庫服務(wù)器、WEB 服務(wù)器、無線網(wǎng)絡(luò)、Android 前端等部分??蛻舳薃ndroid 系統(tǒng)智能手機具有前端處理與計算能力,而且通過無線網(wǎng)絡(luò)訪問WEB 服務(wù)器,如果需要數(shù)據(jù)訪問,則訪問后臺數(shù)據(jù)庫。
客戶端采用Android 操作系統(tǒng)(1.5 版本以上)。
服務(wù)器端采用Tomcat WEB 服務(wù)器(5.5 版本以上)(也可以是其他WEB 服務(wù)器)、MySQL 數(shù)據(jù)庫。如圖1.
圖1 Android 云計算之移動點餐系統(tǒng)物理架構(gòu)
1.2 系統(tǒng)技術(shù)選型
Android 客戶端應(yīng)用使用Java 技術(shù),網(wǎng)絡(luò)通信使用Apache HTTP協(xié)議客戶端,中間WEB服務(wù)器采用TomcatWEB 服務(wù)器技術(shù),采用Servlet 技術(shù)響應(yīng)客戶請求。
后臺數(shù)據(jù)庫采用JDBC 訪問遠程MySQL 數(shù)據(jù)庫,Android 客戶端的一部分數(shù)據(jù)同時存儲在Android 本地的SQLite 數(shù)據(jù)庫和后臺MySQL 數(shù)據(jù)庫中,實現(xiàn)Android 客戶端和后臺數(shù)據(jù)庫的數(shù)據(jù)同步技術(shù)。如圖2 所示。
圖2 Android 云計算之移動點餐系統(tǒng)技術(shù)選型。
1.3 系統(tǒng)數(shù)據(jù)庫設(shè)計
后臺Mysql 數(shù)據(jù)庫名稱:wireless_db,共計包含以下6 個數(shù)據(jù)表。
數(shù)據(jù)表:menutbl(菜品數(shù)據(jù)表);主鍵:id(菜品編號);外鍵:typeID(菜品類型編號)。
數(shù)據(jù)表:menutypetbl(菜品類型數(shù)據(jù)表),主鍵:
id(菜品類型編號)。
數(shù)據(jù)表:ordertbl(訂單數(shù)據(jù)表),主鍵:id(訂單編號)。
數(shù)據(jù)表:orderdetailtbl(訂單詳細信息表);主鍵:
id(訂單菜品編號);外鍵:orderId(訂單編號)。
數(shù)據(jù)表:tabletbl(餐桌數(shù)據(jù)表),主鍵:id(餐桌編號)。
數(shù)據(jù)表:usertbl(系統(tǒng)用戶數(shù)據(jù)表),主鍵:id(系統(tǒng)用戶編號)。
數(shù)據(jù)模型設(shè)計如圖3:
圖3 Android 云計算之移動點餐系統(tǒng)數(shù)據(jù)模型。
2 系統(tǒng)實現(xiàn)
Android 云計算之移動點餐系統(tǒng)功能模塊實現(xiàn)每個功能模塊實現(xiàn)說明:
①系統(tǒng)的登錄功能:系統(tǒng)用戶輸入用戶名和密碼,實現(xiàn)登錄,進入系統(tǒng)主菜單。登錄過程是通過無線網(wǎng)絡(luò),在后臺數(shù)據(jù)庫中通過用戶名和密碼進行查詢。注冊用戶方可使用該系統(tǒng)。(圖4)。
圖4 系統(tǒng)功能實現(xiàn)框圖。
②系統(tǒng)主菜單:包括點菜、并臺、轉(zhuǎn)臺、查臺、更新、設(shè)置、注銷、結(jié)算等以圖形方式展現(xiàn)的系統(tǒng)功能菜單。
③點餐功能:操作員輸入客人的點餐信息,通過無線網(wǎng)絡(luò)及時的將點餐信息傳送到后臺服務(wù)器,進而在廚房終端顯示,利于廚師盡快下廚做菜。該模塊包括了開桌、點菜、下單三個功能。(圖5)。
④結(jié)算功能:操作員根據(jù)訂單編號查詢點餐訂單信息和訂單信息詳細列表,顧客確認后單擊結(jié)算按鈕進行結(jié)算。
⑤查臺功能:當有顧客進入餐廳時,需要服務(wù)員查詢餐桌狀態(tài)(有人或空位),來安排顧客就餐。該過程應(yīng)是查詢數(shù)據(jù)庫中的餐桌數(shù)據(jù)得到當前餐桌狀態(tài)列表,通過可視化的界面進行顯示。
⑥更新(數(shù)據(jù)同步)功能:為了提高程序的運行效率,將服務(wù)器中菜譜表和餐桌表的數(shù)據(jù)保存到Android 客戶端SQLite 數(shù)據(jù)庫中。因此,當服務(wù)器中的數(shù)據(jù)改變時需要及時將服務(wù)器中的數(shù)據(jù)動態(tài)的更新到客戶端,更新功能就是為此而設(shè)計的[3].
評論