基于Android 手機訂餐系統(tǒng)的研究與實現(xiàn)的論文
隨著智能手機的應用,GPS、wifi 技術的成熟,關于手機訂餐應用的需求也逐漸增——手機訂外賣、手機訂餐方便了客戶。例如,去餐廳用餐前客戶可以在手機APP 上查看當前餐廳是否有空位,可以預訂餐位,且在出發(fā)前就可在手機點餐,并注明到店時間,到店后無需等待就可享用美食。對于餐廳來說,也節(jié)省了人力,無需太多的點菜服務人員,節(jié)省了開店成本。以下為基于Android 手機訂餐系統(tǒng)的設計。
1 系統(tǒng)模塊設計
訂餐系統(tǒng)主要分為三個模塊。
1.1 訂餐客戶端程序
該程序安裝在用餐客戶的手機上,主要功能是用戶通過手機選擇餐廳,預訂餐位,并點菜下單。
1.2 餐廳管理客戶端程序
該程序可分為兩部分,一是可安裝在餐廳管理人員的手機上,主要功能是餐廳管理人員可通過手機查看訂單,上傳及修改餐廳菜品,上傳餐廳簡介及當前時段用餐情況等信息。
另一部分功能主要是為餐廳管理人員開發(fā)的訂餐管理系統(tǒng),以網(wǎng)頁形式體現(xiàn),餐廳管理人員可通過瀏覽器在網(wǎng)頁管理餐廳的訂單信息及菜品信息,也可以通過網(wǎng)頁來管理餐廳,對于較小的餐廳,餐廳管理人員可直接用手機客戶端管理餐廳,對于大、中型餐廳可用計算機通過網(wǎng)頁來實現(xiàn)餐廳訂餐信息的管理。
1.3 服務器端數(shù)據(jù)服務系統(tǒng)
服務器端程序用來接收手機客戶端用戶發(fā)來的消息并做處理,如訂餐信息,餐廳管理人員發(fā)來的菜品修改信息等,并對數(shù)據(jù)庫做相應的修改。
2 系統(tǒng)模塊詳細設計
2.1 訂餐客戶端程序。該程序安裝在用餐客戶的手機上,主要功能是用戶通過手機選擇餐廳,預訂餐位,并點菜下單。根據(jù)用戶當前所在位置,系統(tǒng)會推薦用戶周邊的`餐廳,用戶也可自己搜索、選擇,并查看餐廳就餐環(huán)境及當前就餐人數(shù),是否有空位;選擇好餐廳后,可直接進入點餐界面,點餐界面將菜品分類,并顯示菜品圖片、品名、價格等,用戶可點擊選擇,并可對每一個菜品輸入特別要求,如少辣;選好菜品后,可輸入訂餐人姓名、電話、用餐人數(shù)等信息,并下單,就可直接傳送到服務器端的數(shù)據(jù)庫了。主要實現(xiàn)方法如下:(1)服務器端傳送給手機端的數(shù)據(jù),如餐廳列表、菜品列表,可以將從數(shù)據(jù)庫中取得的數(shù)據(jù)轉(zhuǎn)換為JSONObject 或JSONArray 的格式,客戶端收到后可直接解析。(2)手機客戶端連接服務器端時,主要采用http 網(wǎng)絡連接方法,如http://192.168.199.115 /DC_server/t_cp。(3)手機客戶端數(shù)據(jù)采用分頁加載方法,即只下載并顯示用戶當前所查看的數(shù)據(jù)(如餐廳列表、菜品列表)這樣可節(jié)省網(wǎng)絡資源。
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
// 判斷是否滾動到底部
if (view.getLastVisiblePosition() == view.getCount() - 1) {
if (havedata) {page += 1;
conservice (MyGlobal.cp_url + "?sh_id = " +Bundle1.getStrin("sh_id"+"&page="+page+"&search_key="+search_data);
}}}
2.2 餐廳管理客戶端程序
該程序被安裝在餐廳管理人員的手機上,主要功能是餐廳管理人員可通過手機查看訂單,上傳及修改餐廳菜品,上傳餐廳簡介及當前時段用餐情況等信息。主要功能有:查看訂單、上傳菜品、修改菜品、修改餐廳信息、修改用戶密碼,該模塊的難點主要在上傳菜品圖片,即在手機中查找菜品圖片,選擇后上傳到服務器,并修改數(shù)據(jù)庫;主要方法:
(1)對手機上的圖片進行列表,供用戶選擇,通過Gridview+自定義adapter 實現(xiàn)圖片的顯示。
(2)以文件做為參數(shù),傳送至服務器端,實現(xiàn)菜品圖片的上傳,代碼如下。
FileBody file=new FileBody(imageFile);
mpEntity.addPart("picPath",file);
mpEntity.addPart ("picName",new StringBody(file.getFilename
()));
httppost.setEntity(mpEntity);
HttpResponse httpResponse=httpclient.execute(httppost);
2.3 服務器端數(shù)據(jù)服務系統(tǒng)
該程序主要是接收手機上發(fā)來的信息,并修改數(shù)據(jù)庫,以及根據(jù)手機發(fā)來的信息,從數(shù)據(jù)庫中查詢相關數(shù)據(jù)并返回信息給手機客戶端;該程序被安裝在服務器端,服務器端程序為web 程序,可用tomcat+jsp+mysql 組合,主要分為兩個部分,一個是用于接收訂餐客戶手機上發(fā)來的信息;另一部分用于接收餐廳管理人員手機客戶端信息。主要方法如下:
(1)服務器端傳送給手機端的數(shù)據(jù),如餐廳列表、菜品列表,可以將從數(shù)據(jù)庫中取得的數(shù)據(jù)轉(zhuǎn)換為JSONObject 或JSONArray 的格式,客戶端收到后可直接解析。
List data=new ArrayList();
try{ResultSet rs=sp.execQuery(sql,iPageSize,Integer.parseInt(i-Page));
if(sp.getPageCount()>=Integer.parseInt(iPage))
{int i=0;
do {Mapcell=new HashMap();
cell.put("cp_id",rs.getString("id"));
cell.put("cp_type_name",rs.getString("cp_type_name"));
cell.put("cp_type_id",rs.getString("cp_type_id"));
……
data.add(cell);
}while(++i
}
} catch (SQLException ex) {ex.printStackTrace();
}
JSONArray array=new JSONArray(data);
out.print(array.toString());
(2)接收餐廳管理人員上傳的圖片,將圖片存入服務器指定目錄,并修改數(shù)據(jù)庫中菜品圖片名稱。
OutputStream out =new FileOutputStream (new File(path,filename));
InputStream in=item.getInputStream();
int length=0;
byte[] buf=new byte[1024];
System.out.println("獲取文件總量的容量:"+ item.getSize());
while((length=in.read(buf))!=-1)
{out.write(buf,0,length);
}
String sql="t_cp set cp_img='"+filename +"' where id="+cp_id;
conn.doUpdate(sql);
參考文獻
[1]徐光俠,封雷,涂演,等.基于Android 和Google Maps 的生活輔助系統(tǒng)的設計與實現(xiàn)[J].重慶郵電大學學報(自然科學版),2012,2.
[2]王晉東;移動終端上傳網(wǎng)絡圖片的算法實現(xiàn)[J].電子技術與軟件工程,2013,17.
【基于Android 手機訂餐系統(tǒng)的研究與實現(xiàn)的論文】相關文章:
選課系統(tǒng)設計與實現(xiàn)開題報告11-18
基于市場需求的外語專業(yè)人才培養(yǎng)與就業(yè)研究的論文05-19
關于學生信息管理系統(tǒng)的設計與實現(xiàn)開題報告03-15
小型企業(yè)信息管理系統(tǒng)的設計與實現(xiàn)優(yōu)秀開題報告03-07
英語論文寫作教材編寫的理論依據(jù)與實現(xiàn)方法教育論文12-05