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