謝杭 沈?yàn)I偉 肖凱 施月 王世杰
摘要:移動(dòng)互聯(lián)網(wǎng)是未來(lái)互聯(lián)網(wǎng)發(fā)展的趨勢(shì),為了將移動(dòng)互聯(lián)網(wǎng)技術(shù)運(yùn)用于餐飲行業(yè),解決過(guò)去人工點(diǎn)餐形式帶來(lái)的低效繁雜的弊端,該課題基于C/S架構(gòu)和MVC設(shè)計(jì)思想,研究并設(shè)計(jì)了一種基于Android的無(wú)線點(diǎn)餐系統(tǒng),實(shí)現(xiàn)了顧客就餐全過(guò)程的自動(dòng)化管理,提高餐館的運(yùn)營(yíng)效率并提升用戶(hù)體驗(yàn),同時(shí)指出無(wú)線點(diǎn)餐系統(tǒng)的關(guān)鍵技術(shù)和實(shí)現(xiàn)難點(diǎn),為無(wú)線點(diǎn)餐系統(tǒng)提供了一種通用的模式。
關(guān)鍵詞:安卓;無(wú)線點(diǎn)餐;移動(dòng)終端;自動(dòng)化;餐館
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2019)06-0063-03
Research and Design of Wireless Ordering System Based on Android
XIE Hang, SHEN Bin-wei, XIAO Kai, SHI Yue, WANG Shi-jie
(Civil Aviation University of China, Tianjin 300300, China)
Abstract: Mobile Internet is the trend of the future Internet development. In order to apply the mobile Internet technology to the catering industry and solve the inefficiency and complexity caused by the manual ordering method in the past, this topic is researched and designed based on the C/S architecture and MVC design ideas. A wireless ordering system based on Android realizes the automatic management of the whole process of customer dining, improves the operation efficiency of the restaurant and enhances the user experience. At the same time, it points out the key technologies and difficulties of the wireless ordering system, and provides a common model for wireless ordering systems.
Key words: Android; wireless ordering; mobile terminal; automation; restaurant
1 背景
過(guò)去餐廳使用的人工點(diǎn)餐形式,效率較低,勞工費(fèi)用較高,且服務(wù)員和后廚的交流不及時(shí),點(diǎn)餐業(yè)務(wù)容易出錯(cuò),影響顧客就餐體驗(yàn)。隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,無(wú)線終端的通信能力和處理能力得到了極大的提升并開(kāi)始普及,改變了人們的生活方式。基于當(dāng)前的環(huán)境和技術(shù),可以將過(guò)去煩瑣重復(fù)的人工點(diǎn)餐交由機(jī)器代勞。本文介紹的無(wú)線點(diǎn)餐系統(tǒng)在點(diǎn)餐過(guò)程無(wú)需工作人員干涉,由精準(zhǔn)的機(jī)器傳遞點(diǎn)菜信息,由可靠的后臺(tái)來(lái)管理餐桌,由智能設(shè)備來(lái)完成重復(fù)繁雜的勞動(dòng)和高效的交互交流。可為顧客提供一種寬松的點(diǎn)餐環(huán)境,同時(shí)可為餐廳節(jié)約人力成本,實(shí)現(xiàn)點(diǎn)餐的流程化,提高餐飲業(yè)的服務(wù)水平。
2 系統(tǒng)開(kāi)發(fā)技術(shù)
2.1 開(kāi)發(fā)工具
Eclipse平臺(tái):Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)放平臺(tái)。
Android Studio:是谷歌推出一個(gè)Android集成開(kāi)發(fā)工具,提供了集成的 Android 開(kāi)發(fā)工具用于開(kāi)發(fā)和調(diào)試。
Tomcat服務(wù)器:Tomcat是一個(gè)免費(fèi)的、開(kāi)放源代碼的Web應(yīng)用服務(wù)器。當(dāng)主機(jī)配置好Apache服務(wù)器,便可通過(guò)它來(lái)響應(yīng)HTML頁(yè)面的訪問(wèn)請(qǐng)求。
2.2 Andriod系統(tǒng)
Android系統(tǒng)是由Google發(fā)布的一款基于Linux平臺(tái)的智能移動(dòng)終端操作系統(tǒng),具有開(kāi)源、免費(fèi)的特點(diǎn),其對(duì)智能移動(dòng)終端的迅速普及起著至關(guān)重要的作用。Android開(kāi)發(fā)的四大組件分別是:1)活動(dòng):用于表現(xiàn)功能;2)服務(wù):后臺(tái)運(yùn)行服務(wù),不提供界面呈現(xiàn);3)廣播接收器:用于接收廣播;4)內(nèi)容提供商:支持在多個(gè)應(yīng)用中存儲(chǔ)和讀取數(shù)據(jù),相當(dāng)于數(shù)據(jù)庫(kù)。Android系統(tǒng)架構(gòu)采用了分層的思想,從底層到上層共包括4層:Linux內(nèi)核層、系統(tǒng)運(yùn)行庫(kù)層、應(yīng)用程序框架層和應(yīng)用程序?qū)印1鞠到y(tǒng)的客戶(hù)端就是基于Android系統(tǒng)。
2.3 Sevlet
Servlet是由Java語(yǔ)言編寫(xiě)的服務(wù)器端程序,運(yùn)行于支持Java的應(yīng)用服務(wù)器中,具有獨(dú)立于平臺(tái)和協(xié)議的特性,主要功能在于交互式地瀏覽和生成數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。Java Web 應(yīng)用程序中所有的請(qǐng)求-響應(yīng)都是由 Servlet來(lái)完成的。本系統(tǒng)的服務(wù)器處理客戶(hù)端請(qǐng)求的功能實(shí)現(xiàn)基于Servlet技術(shù)。其工作模式如圖1:
3 系統(tǒng)整體架構(gòu)
本系統(tǒng)的客戶(hù)端采用基于Java語(yǔ)言的Android平臺(tái),網(wǎng)絡(luò)通信使用Apache HTTP協(xié)議,后臺(tái)Web服務(wù)器采用Servlet響應(yīng)客戶(hù)端請(qǐng)求。后臺(tái)服務(wù)器采用JDBC訪問(wèn)Mysql數(shù)據(jù)庫(kù),而客戶(hù)端部分?jǐn)?shù)據(jù)存儲(chǔ)于本地的SQLite數(shù)據(jù)庫(kù)中。系統(tǒng)整體架構(gòu)圖如圖2:
系統(tǒng)運(yùn)行時(shí),Android客戶(hù)端通過(guò)無(wú)線網(wǎng)絡(luò)訪問(wèn)Web服務(wù)器,并通過(guò)服務(wù)器訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù),進(jìn)行數(shù)據(jù)的增刪查改操作。
4 系統(tǒng)功能簡(jiǎn)介
4.1 服務(wù)器端
4.1.1 后臺(tái)數(shù)據(jù)庫(kù)
本系統(tǒng)通過(guò)JDBC接口連接Mysql數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)連接使用的是Java中的connection對(duì)象,通過(guò)connetion對(duì)象和MySQL驅(qū)動(dòng)連接后臺(tái)的數(shù)據(jù)庫(kù),并利用Servlet響應(yīng)
4.1.2 功能實(shí)現(xiàn)
服務(wù)器端的實(shí)現(xiàn)基于MVC框架模式和分層的設(shè)計(jì)思想,使用經(jīng)典的JSP + Servlet + Java bean的模式,將應(yīng)用程序的輸入、處理和輸出分開(kāi)。其中Servlet充當(dāng)控制器的角色,負(fù)責(zé)從視圖(JSP)讀取數(shù)據(jù),控制用戶(hù)輸入,并向模型(JavaBean)發(fā)送數(shù)據(jù)。
當(dāng)客戶(hù)端向服務(wù)器發(fā)起登錄、下單、結(jié)賬等請(qǐng)求的時(shí)候,系統(tǒng)會(huì)通過(guò)HTTP協(xié)議向服務(wù)器發(fā)出請(qǐng)求。服務(wù)器端會(huì)將客戶(hù)端的請(qǐng)求信息進(jìn)行解析,然后通過(guò)Sevlet技術(shù)將處理后的數(shù)據(jù)以Http-Response返回給客戶(hù)端,由此來(lái)實(shí)現(xiàn)系統(tǒng)的數(shù)據(jù)交互。
服務(wù)器端的核心功能如圖3:
4.1.3 核心代碼
服務(wù)器主要用于響應(yīng)客戶(hù)端的請(qǐng)求。以下代碼展示了后臺(tái)服務(wù)器如何連接數(shù)據(jù)庫(kù)并處理客戶(hù)端發(fā)送過(guò)來(lái)的結(jié)賬請(qǐng)求:
4.2 客戶(hù)端
4.2.1 小型數(shù)據(jù)庫(kù)
Android客戶(hù)端采用了Android自帶的SQLite數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)用戶(hù)登錄、最新菜單和最新賬單等信息。登錄信息用于方便用戶(hù)登錄,簡(jiǎn)化登錄操作;菜單和賬單信息為用戶(hù)提供信息查詢(xún)功能,本地信息保存有利于減緩網(wǎng)路性能帶來(lái)的壓力并確保快速響應(yīng)。
4.2.2 功能實(shí)現(xiàn)
Android客戶(hù)端主要由以下幾個(gè)管理模塊構(gòu)成:用戶(hù)管理、桌號(hào)管理、菜品管理、訂單管理等。
用戶(hù)管理:包含用戶(hù)注冊(cè)和用戶(hù)登錄。用戶(hù)注冊(cè)功能將客戶(hù)的賬號(hào)和密碼信息提交給服務(wù)器并進(jìn)行存儲(chǔ);用戶(hù)登錄功能則通過(guò)無(wú)線網(wǎng)絡(luò),根據(jù)賬號(hào)和密碼,在后臺(tái)驗(yàn)證是否存在該用戶(hù)。
桌號(hào)管理:包含開(kāi)桌、換桌和并桌。
開(kāi)桌功能供用戶(hù)選擇當(dāng)前空閑的桌位進(jìn)行用餐;換桌、并桌功能則是為了滿(mǎn)足顧客臨時(shí)要求更換桌位的需要。
菜品管理:包含菜單更新和菜品瀏覽。
菜單更新功能用于與服務(wù)器同步菜單信息;菜品瀏覽功能用于向顧客展示菜品信息。
訂單管理:包含下單、查看訂單和結(jié)賬。其中查看訂單功能用于顧客查閱當(dāng)前下單的菜品信息。
4.2.3 系統(tǒng)操作流程
Android客戶(hù)端通過(guò)不同功能模塊的組合實(shí)現(xiàn)了完整的點(diǎn)餐服務(wù)。
首先顧客進(jìn)行登錄操作,在后臺(tái)進(jìn)行密碼驗(yàn)證,驗(yàn)證成功則進(jìn)入系統(tǒng)功能首頁(yè),反之則回到登錄頁(yè)面進(jìn)行二次驗(yàn)證;
接著顧客選擇餐館內(nèi)空閑的桌位入座,并開(kāi)始瀏覽菜品,然后根據(jù)自身喜好,進(jìn)行點(diǎn)菜下單的操作,接著耐心等待服務(wù)員上菜后開(kāi)始進(jìn)行就餐;
在此期間顧客可以隨時(shí)查看自身的訂單明細(xì),并可進(jìn)行加菜或退菜的操作(同時(shí)如果顧客有需要,可以提出進(jìn)行更換桌子或者與其他顧客合并桌子);
最后用餐完畢,顧客查看訂單情況并進(jìn)行結(jié)賬操作,系統(tǒng)將自動(dòng)釋放被占用的桌號(hào),然后完成此次服務(wù)。
綜上,系統(tǒng)的基本數(shù)據(jù)流程圖如圖4:
5 結(jié)束語(yǔ)
綜上所述,在如今萬(wàn)物互聯(lián)以及5G即將普及的背景下,無(wú)線信息技術(shù)的應(yīng)用會(huì)應(yīng)用在各個(gè)領(lǐng)域,無(wú)線點(diǎn)餐系統(tǒng)就是餐飲業(yè)發(fā)展中的關(guān)鍵一步。本課題根據(jù)當(dāng)前時(shí)代背景,以顧客的需求為設(shè)計(jì)前提,采用基于互聯(lián)網(wǎng)的無(wú)線通訊技術(shù),實(shí)現(xiàn)了基于Android的無(wú)線點(diǎn)餐系統(tǒng)。安卓端的用戶(hù)點(diǎn)菜下單后,點(diǎn)菜相關(guān)信息和具體數(shù)據(jù)會(huì)被提交至服務(wù)器,PC端通過(guò)服務(wù)器查詢(xún)到各餐桌的訂單情況,可以有序且無(wú)差錯(cuò)地進(jìn)行餐廳前臺(tái)和廚房之間的交互,提高了餐飲行業(yè)的服務(wù)效率,實(shí)現(xiàn)人性化、自動(dòng)化的服務(wù)目標(biāo),提供系統(tǒng)化的互聯(lián)網(wǎng)餐廳解決方案。
參考文獻(xiàn):
[1] 郭霖. 第一行Android代碼[M]. 2版.北京: 人民郵電出版社, 2016: 3-241.
[2] 孫衛(wèi)琴. Tomcat與Java Web開(kāi)發(fā)技術(shù)詳解[M]. 2版.北京:電子工業(yè)出版社, 2009: 89-113.
[3] 郭宏志. Android應(yīng)用開(kāi)發(fā)詳解[M].北京: 電子工業(yè)出版社, 2010: 159-171.
[4] 李興華. Android開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典[M].北京: 清華大學(xué)出版社, 2012: 252-282.
[5] Steve Suehring. Javascript從入門(mén)到精通[M].北京: 清華大學(xué)出版社, 2012: 313-332.
[6] 劉光瑞. tomcat架構(gòu)解析[M].北京: 人民郵電出版社. 2017: 152-183.
[7] 孫衛(wèi)琴. tomcat與javaweb開(kāi)發(fā)技術(shù)詳解[M].北京: 電子工業(yè)出版社, 2009: 90-109.
[8] Budi Kurniawan. Servlet和JSP學(xué)習(xí)指南[M]. 北京: 機(jī)械工業(yè)出版社, 2013: 52-71.
【通聯(lián)編輯:謝媛媛】