系統發揮Android 富有創造力和想象力的“云”應用開發,實現一套Android 客戶端軟件和完善的后臺服務功能來完成點餐功能。該系統主要包括后臺數據庫服務器、WEB 服務器、無線網絡、Android 前端等部分。客戶端Android 系統智能手機具有前端處理與計算能力,而且通過無線網絡訪問WEB 服務器,如果需要數據訪問,則訪問后臺數據庫。介紹了系統架構的設計與搭建、技術選型、后臺數據庫的設計與實現、基本實用的點餐功能的分析、設計與開發。
移動互聯網時代來臨,一個嶄新的時代開始了!
所謂移動互聯網就是將移動通信和互聯網整合在一起,是移動設備(包括手機和上網本)可以隨時隨地訪問互聯網資源和應用。
云是由許多水分子組成的,幾乎有幾億個。云沒有中央控制,基本上可以隨風吹向各處。從這個角度來說,Internet 中無數個具有各種用途的客戶機和服務器以及驅動其發展的控制實體就像是云。將這一概念與移動設備帶給我們的無線數據革命結合后,我們似乎就處在一種無形的“云”計算力量中了。
智能手機是移動互聯網時代一個標志性的客戶端工具,具有強大的移動“云”計算和儲存能力,可以通過移動通信網絡來實現無線網絡接入,從而實現各種各樣的富有創造力和想象力“云”應用。
“云”計算將可移植設備與強大的服務器互為補充,它需要一個能夠讓服務器架構師和程序員最大程度利用小型客戶機機器的操作系統。Android 就是這樣一種操作系統。
傳統的餐飲行業,點餐過程都是有餐廳服務員人工完成的。通常過程是這樣的,客人進入餐廳后,選好座位開始點餐,服務員等待客人點餐完成,將客人的點餐內容送到廚房,有廚師下廚做菜。這一過程對一個小的餐館來說沒有問題,但如果餐館比較大、客人比較多或者客人要求某位不在餐廳現場的服務員或老板服務,客人的等待時間就會比較長。為了解決這個問題,出現了無線點餐系統,該系統有無線終端(一般是一個PDA)、無線路由器和后臺服務器組成。
但它的弊端很明顯,要么PDA 價格高、只能做點餐用、增加系統成本、造成資源浪費等,要么基于傳統開發手段開發的B/S 系統架構的點餐系統,但往往在實際應用中速度不盡人意。
1 系統設計
1、1 系統物理架構
該系統主要包括后臺數據庫服務器、WEB 服務器、無線網絡、Android 前端等部分。客戶端Android 系統智能手機具有前端處理與計算能力,而且通過無線網絡訪問WEB 服務器,如果需要數據訪問,則訪問后臺數據庫。
客戶端采用Android 操作系統(1。5 版本以上)。
服務器端采用Tomcat WEB 服務器(5。5 版本以上)(也可以是其他WEB 服務器)、MySQL 數據庫。如圖1。
圖1 Android 云計算之移動點餐系統物理架構
1、2 系統技術選型
Android 客戶端應用使用Java 技術,網絡通信使用Apache HTTP協議客戶端,中間WEB服務器采用TomcatWEB 服務器技術,采用Servlet 技術響應客戶請求。
后臺數據庫采用JDBC 訪問遠程MySQL 數據庫,Android 客戶端的一部分數據同時存儲在Android 本地的SQLite 數據庫和后臺MySQL 數據庫中,實現Android 客戶端和后臺數據庫的數據同步技術。如圖2 所示。
圖2 Android 云計算之移動點餐系統技術選型。
1、3 系統數據庫設計
后臺Mysql 數據庫名稱:wireless_db,共計包含以下6 個數據表。
數據表:menutbl(菜品數據表);主鍵:id(菜品編號);外鍵:typeID(菜品類型編號)。
數據表:menutypetbl(菜品類型數據表),主鍵:
id(菜品類型編號)。
數據表:ordertbl(訂單數據表),主鍵:id(訂單編號)。
數據表:orderdetailtbl(訂單詳細信息表);主鍵:
id(訂單菜品編號);外鍵:orderId(訂單編號)。
數據表:tabletbl(餐桌數據表),主鍵:id(餐桌編號)。
數據表:usertbl(系統用戶數據表),主鍵:id(系統用戶編號)。
數據模型設計如圖3:
圖3 Android 云計算之移動點餐系統數據模型。
2 系統實現
“Android 云計算之移動點餐系統”功能模塊實現每個功能模塊實現說明:
①系統的登錄功能:系統用戶輸入用戶名和密碼,實現登錄,進入系統主菜單。登錄過程是通過無線網絡,在后臺數據庫中通過用戶名和密碼進行查詢。注冊用戶方可使用該系統。(圖4)。
圖4 系統功能實現框圖。
②系統主菜單:包括點菜、并臺、轉臺、查臺、更新、設置、注銷、結算等以圖形方式展現的系統功能菜單。
③點餐功能:操作員輸入客人的點餐信息,通過無線網絡及時的將點餐信息傳送到后臺服務器,進而在廚房終端顯示,利于廚師盡快下廚做菜。該模塊包括了開桌、點菜、下單三個功能。(圖5)。
④結算功能:操作員根據訂單編號查詢點餐訂單信息和訂單信息詳細列表,顧客確認后單擊結算按鈕進行結算。
⑤查臺功能:當有顧客進入餐廳時,需要服務員查詢餐桌狀態(有人或空位),來安排顧客就餐。該過程應是查詢數據庫中的餐桌數據得到當前餐桌狀態列表,通過可視化的界面進行顯示。
⑥更新(數據同步)功能:為了提高程序的運行效率,將服務器中菜譜表和餐桌表的數據保存到Android 客戶端SQLite 數據庫中。因此,當服務器中的數據改變時需要及時將服務器中的數據動態的更新到客戶端,更新功能就是為此而設計的[3]。
⑦轉臺功能:顧客下單后,要求更換座位,這時需要更改已經提交的數據。更改的過程是根據訂單號找到該訂單對應的桌號,將該桌號更改為更換后的桌號。
⑧并臺功能:將已經下單的兩組顧客合并到一張桌子的過程,該過程需要更改已經提交到數據庫中的數據。更新內容包括人數的合并、訂單的更新、訂單詳細的更新和桌位狀態的更新。
⑨注銷功能:退出“移動云計算之Android 餐飲服務系統”。
下面列出更新(數據同步)功能實現的過程代碼,其他功能代碼從略:
創建一個名為UpdateActivity 的Activity,該類繼承ListActivity,通過ListView 展示界面。在該類中定義一個updateMenu()方法用于更新手機前臺界面信息,該方法調用服務器Servlet 獲得XML 格式的輸入流,通過JAVA DOM 解析該XML 獲得服務器數據,將數據保存到本地SQLite 數據庫中。
服務端創建Servlet、拼成XML 格式數據輸出、響應客戶端請求等代碼從略。
3 結語
“Android 云計算之移動點餐系統”后臺數據庫采用JDBC 訪問遠程MySQL 數據庫,Android 客戶端的一部分數據同時存儲在Android 本地的SQLite 數據庫和后臺MySQL 數據庫中,實現Android 客戶端和后臺數據庫的數據同步技術是本系統在實現快速移動“云”計算中的創新之處。
具體實現中,為了提高程序的運行效率,將后臺MySQL 服務器中菜品數據表和餐桌數據表的數據保存到Android 客戶端SQLite 數據庫中。因此,當后臺MySQL 服務器中的數據改變時需要及時將服務器中的數據動態的更新到Android 客戶端,更新功能就是為此而設計的。
因此,“Android 云計算之移動點餐系統”完全具有了傳統的C/S 和B/S 的優異功能,同時又結合了最先進的移動“云”計算設計理念。
為了滿足具有一定規模、需要提高餐廳點餐效率、體現出現代化的氣氛、改進客人就餐環境,并借此提高經濟效益的餐廳和酒店的實際需求,“移動云計算之Android 餐飲服務系統”實現一套Android 客戶端軟件和完善的后臺服務功能來完成餐飲服務功能。系統不會占用太大的預算,并能盡量沿用原有的成熟技術,與原有系統進行良好的整合,那么該系統將具有很好的開發與應用價值。
責任編輯:gt
-
智能手機
+關注
關注
66文章
18491瀏覽量
180201 -
Android
+關注
關注
12文章
3936瀏覽量
127402 -
云計算
+關注
關注
39文章
7800瀏覽量
137397
發布評論請先 登錄
相關推薦
評論