張國平,黃 淼,褚龍現
(平頂山學院 軟件學院,河南 平頂山 467000)
基于Android和SSH2的手機訂餐系統
張國平,黃 淼,褚龍現
(平頂山學院 軟件學院,河南 平頂山 467000)
為方便用戶不受時間和空間的限制,便能快速訂餐,本文采用Android和SSH2技術設計并開發一個網上訂餐系統,該系統由手機客戶端和后臺服務器端兩部分組成,手機客戶端實現用戶的注冊登錄、菜品信息查詢、生成訂單和訂單信息查詢等功能;后臺服務器端實現了用戶管理,用戶訂單查看與檢索,購物車查看與檢索,餐廳管理,菜品管理,餐廳訂單查看與檢索等功能。開發的系統能給餐廳賣家提供更多商機,同時也給顧客提供更多的便利。實驗表明,該系統具有操作簡便、擴展性強、加載速度快和占用資源少等優點,達到了設計要求。
Android;Strus2;Spring;Hibernate;網上訂餐系統
隨著網絡技術與信息技術的快速發展,人們對餐飲的要求越來越高,不僅要求色香味俱全,而且對于就餐的時間和方式也有了更高的要求。傳統的訂餐管理系統大多是基于C/S模式開發,該開發模式具有用戶不便于在網絡訂餐、維護工作量和成本大等缺點[1];目前已有的基于B/S模式的訂餐系統,用戶必須通過電腦進行訂餐操作,由于電腦體積大且不便于攜帶,這樣給用戶隨時隨地的網上訂餐帶來了諸多不便。近年來,隨著智能手機的不斷普及和移動互聯網技術的快速發展,手機成為了人們生活中不可缺少的工具,它已成為人們獲取信息的主要設備,使得用戶移動訂餐成為了可能。
通過移動通信與Internet的結合,使得移動應用快速發展。移動應用業務為人們提供了隨時隨地訪問網絡并從網絡獲取信息和處理信息的能力。為了方便用戶不受時間和空間的限制,直接利用智能手機移動設備,方便快捷瀏覽、訂購感興趣的菜品,本文提出采用Android和J2EE技術設計并開發一個手機訂餐系統,即采用Android技術進行手機客戶端的設計,采用J2EE技術(Struts、Spring、Hibernate)實現Web后臺服務器端的開發。開發的系統具有較高的聯網實時性,滿足用戶隨時隨地網上訂餐的需求,大大節約了用戶的時間,從而提高了用戶的訂餐效率。
Android系統平臺包含有基于Linux內核的操作系統,虛擬機,中間件,一些 API接口以及一些必要的應用功能[2-3]。Android整體上可以看作是由Linux,C/C++和Java所構成的開源軟件系統[4]。
SSH2是Sruts2+Spring+Hibernate的一個整合框架[5-6],是目前使用較多的一種Web應用程序開源框架,該開發模式能保證各層開發相對獨立,又能協調工作,代碼結構清晰,共享性高,且利于維護[7-8]。
通過需求分析得出,系統的功能主要分為會員用戶、餐廳用戶和管理員用戶3種用戶角色,會員用戶要能實現會員登錄、會員注冊、會員信息管理、餐廳瀏覽以及檢索、訂單管理、菜品瀏覽和檢索等功能。餐廳用戶要能實現菜品管理,餐廳登錄、餐廳信息管理、餐廳訂單查看和檢索等功能。系統管理員要實現會員管理、會員訂單查看與檢索、購物車查看與檢索、餐廳管理、菜品管理、餐廳訂單查看與檢索等功能。系統功能結構圖如圖1所示。

圖1 系統功能結構圖
3.1 Android手機端包及類的設計
1)cn.edu.pdsu.bean:持久化類,所有的持久化類均在該包下,并info結尾命名。包下有8個持久化類,在這里進行對數據的操作等。
1.2.2 IBDV懸液的制備。選取經確診典型的IBD病死雞的法氏囊,經無菌生理鹽水沖洗后稱取2 kg并剪碎,按1∶3的量加入無菌生理鹽水,然后進行勻漿處理,于4 ℃條件下放置1 min,經離心分離后提取上清液,加入青霉素和鏈霉素各3 000 IU/mL于上清液中,置于-30 ℃冰箱中冷凍保存,得到IBDV懸液。
2)cn.edu.pdsu.config:在這里存放的是進行網絡請求的URL地址。
3)cn.edu.pdsu.customAdapter:Adapter類,系統中所有ListView所需的Adapter。
4)cn.edu.pdsu.refresh.view:自定義的view類,主要實現的上拉刷新與下拉刷新功能。
5)cn.edu.pdsu.slidingmenu:自定義的view類,主要實現的側滑功能。
6)cn.edu.pdsu.util:存放一系列的工具包,比如校驗碼工具類,圖片的上傳與下載的工具包。
3.2 J2EE后臺服務器端包及類的設計
1)cn.edu.pdsu.struts:包存放Action,負責服務端的執行以及Android端的接口實現。
2)cn.edu.pdsu.hibernate:存放session及數據底層持久化類。
3)cn.edu.pdsu.service:該包存放服務端業務邏輯類的接口,負責提供服務端所需要的業務邏輯操作接口。
4)cn.edu.pdsu.service.impl:該包存放實現業務邏輯接口的實現類,負責提供業務邏輯的具體實現。
5)cn.edu.pdsu.dao:存放Dao層接口文件。
6)cn.edu.pdsu.impl:存放實現Dao接口的實現類,負責提供數據庫操作的具體實現。
4.1 手機客戶端軟件的設計
4.1.1 會員查看餐廳信息功能的實現
餐廳模塊是展示給會員用戶的第一個功能模塊,通過請求相關API,返回最新的餐廳信息,并且加載展示給會員用戶。通過上拉刷新與下拉刷新獲取更多的餐廳信息,具體實現效果如圖2所示。

圖2 會員查看餐廳效果圖
系統會讀取記錄中的10條記錄。發送餐廳ID給服務端API接口,服務端通過判斷,服務端數據庫餐廳ID是否有大于提交的ID。如果有則用JSON數據形式返回所有的餐廳。如果沒有返回0x20002,告訴手機端,無需更新。服務器端響應返回數據,解析JSON數據,保存為本地JAVA數據。然后通過Handler消息通信機制,告知UI主線程,加載新數據到顯示頁面。
4.1.2 手機語音功能的實現
手機語音功能模塊使用iFLY Mobile Speech Platform 2.0訊飛移動語音平臺的自動的語音的識別技術來實現。語音實現原理如圖3所示,語音實現效果如圖4所示。

圖3 語音實現原理圖

圖4 語音模塊效果圖
4.1.3 手機餐廳登錄功能的實現
登錄模塊界面分有帳號輸入框,密碼輸入框以及登錄按鈕。密碼輸入框下面,還有一個記住密碼標志,默認是打開狀態,點擊后,表示選中狀態,表示記住當前密碼。下次可直接進行登錄。
使用手機號即可進行登錄。通過向API提交帳號和密碼,服務端進行驗證,返回響應餐廳基本信息。如果帳號、密碼其中一項有誤,則都會進行相應的提示及返回值。客戶端APP則會進行相應的判斷。同時APP可以記住密碼方便用戶下次登錄,如果開啟了記住密碼,在登錄成功后,通過SharePreference存儲記住密碼的選項以及帳號密碼和帳號返回信息。下次登錄將直接返回用戶信息無需二次登錄,餐廳登錄界面如圖5所示。

圖5 餐廳登錄界面
4.2 J2EE后臺服務器端軟件的設計
4.2.1 API模塊的實現
API模塊分為 userAction、orderAction等相關類,通過http://211.69.26.230:8080/ordermeal/API模塊/操作 格式的地址進行訪問。如進行登錄,通過訪問地址http://lamboo.cn/ordermeal/UserActionlogin并 Post提交參數。在API的設計中,基于保密性需求,表單信息均采用POST提交。返回數據使用JSON字符串。
userAction提供了接口驗證接口、自動注冊接口以及頭像上傳接口等。orderAction提供了餐廳用戶的使用的接口。
4.2.2 推送模塊的實現
在對系統進行推送時,默認的需要使用極光云推送的后臺進行消息的推送。極光推送為開發者提供了更加靈活的簡單的推送服務,推送服務按照極光提供的端口規范。本系統在服務端后臺的開發過程中,通過對極光云推送的API的調用,實現了推送功能,無需使用極光系統即可發布推送消息。
在發布推送中,通過POST提交相關數據以及參數到指定API地址來推送內容到客戶端。需要提交推送類型,消息,推送以及富媒體,提交推送樣式,根據不同的樣式ID,彈出不同的消息通知欄彈出樣式。以及提交推送的內容,請求等內容。并且會同時根據API返回值判斷推送是否成功,如果成功則告訴管理員推送成功,否則提示失敗。
在頁面設計中,通過API查詢全部的標簽,并使用HTML的select標簽,顯示全部的標簽,管理員可以通過選擇全部或標簽來推送給不同的群體。推送界面如圖6所示。

圖6 推送效果圖
為了方便用戶不受空間和時間的限制實現網上的快速訂餐,本文綜合應用Struts2+Spring+Hibernate3大框架技術并結合Android技術設計并開發了一個手機訂餐系統,開發的系統能方便用戶隨時隨地實現餐廳菜品的訂購。系統具有較高的聯網實時性,開發的系統具有較高的聯網實時性,滿足用戶隨時隨地網上訂餐的需求,大大節約了用戶的時間,從而提高了用戶的訂餐效率。
[1]張志德,李本富.移動云計算之android餐飲服務系統開發[J].科學技術與工程,2012(3):687-689.
[2]孟濬,朱天宇.一種基于智能手機的新移動醫療系統模式[J].計算機應用研究,2013(7):2055-2060.
[3]李慧,劉星橋.基于物聯網Android平臺的水產養殖遠程監控系統[J].農業工程學報,2013(13):175-181.
[4]陳群,蔡桂煜.基于Android的智能家庭健康監控設備開發[J].三明學院學報,2015(4):16-22
[5]張國平,鄭均輝.基于SSH2和Ajax的物聯網社區信息化管理系統[J].現代電子技術,2014(14):71-73.
[6]李淑芳,胡克寒.基于SSH2框架的高校科研網絡管理系統的實現[J].計算機應用與軟件,2010(7)195-196.
[7]朱科峰,曹靜.基于SSH2架構的農村信息服務系統的設計與實現[J].江蘇農業學報,2013(4):885-891.
[8]何苗.基于SSH2框架與ExtJS技術的權限管理模塊的設計與實現[J].電子設計工程,2013(13):44-46.
Mobile phone ordering system based on Android and SSH2
ZHANG Guo-ping,HUANG Miao,CHU Long-xian
(School of Software,Pingdingshan University,Pingdingshan 467000,China)
For the convenience that the users is not restricted to time and space to get the ordering information,this paper uses the technology based on Android and SSH2,designs and develops a Online ordering system.The system is consists of mobile phone client and server,The mobile client of the system can realize the functions of login for registered users,query for Food infromation,build for order and query for order information.The backstage server can realize the functions of user management,user orders and search,shopping cart view and search,restaurant management,food management restaurant orders and serach.The system can realize the more business opportunities for the restaurant seller,and at the same time to provide more convenience for customers.Experimental results show that the system has the advantages of simple operation,strong portability,fast loading speed and less resource-intensive,and thus reaching the design requirements.
Android;Struts2;Spring;Hibernate;online ordering system
TN929.5
A
1674-6236(2016)15-0049-03
2015-10-25 稿件編號:201510172
河南省科技廳科技發展計劃項目(132102310516);平頂山學院青年科研基金項目(PDSU-QNJJ-2013010)
張國平(1980—),男,江西南昌人,碩士研究生,講師。研究方向:軟件工程,嵌入式與軟件開發,移動通信應用。