基于安卓客戶端的訂餐系統(tǒng)的畢業(yè)論文_第1頁
基于安卓客戶端的訂餐系統(tǒng)的畢業(yè)論文_第2頁
基于安卓客戶端的訂餐系統(tǒng)的畢業(yè)論文_第3頁
基于安卓客戶端的訂餐系統(tǒng)的畢業(yè)論文_第4頁
基于安卓客戶端的訂餐系統(tǒng)的畢業(yè)論文_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于android客戶端的食堂訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)軟件技術(shù)131班曹龍騰、弓丨言1(-)開發(fā)背景1(二)系統(tǒng)設(shè)計(jì)的意義1(三)開發(fā)工具的介紹1錯(cuò)誤!未定義書簽。 錯(cuò)誤!未定義書簽。 錯(cuò)誤!未定義書簽。二、需求分析2(-)經(jīng)濟(jì)可行性(-)技術(shù)可行性(三)功能需求分析 三、系統(tǒng)設(shè)計(jì)(-)系統(tǒng)設(shè)計(jì)的體系結(jié)構(gòu)3(-)系統(tǒng)流程圖3(三)系統(tǒng)功能圖(四)系統(tǒng)活動圖3錯(cuò)誤!未定義書簽。四、數(shù)據(jù)庫表設(shè)計(jì)()系統(tǒng)e-r圖4(-)系統(tǒng)數(shù)據(jù)表設(shè)計(jì)4五、系統(tǒng)功能的具體實(shí)現(xiàn)()網(wǎng)站首頁7(-)食品查詢17(三)用戶注冊23(四)用戶信息修改界面23(五)后臺管理登陸界面24(六)后臺管理主界面25(七)用戶管理25(八

2、)管理員維護(hù)界面26(九)訂餐管理界面2730六、系統(tǒng)調(diào)試與測試29七、結(jié)論基于android客戶端的食堂訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)扌商要:在網(wǎng)絡(luò)技術(shù)快速發(fā)展的今天,原先普通的電話預(yù)定餐廳已經(jīng)不能滿足的功能需求。網(wǎng)絡(luò)越來越貼近生活,本產(chǎn)品通過網(wǎng)絡(luò)訂餐方便商家客戶互動。用戶通過注冊登陸的方式能及時(shí)看到餐飲商家更新的信息,包括餐廳環(huán)境,菜肴信息,菜價(jià)等,反饋飯菜的好吃與否。商家可及時(shí)更新信息,處理訂單,通知客 戶訂單確認(rèn)。系統(tǒng)管理員可以維護(hù)更新發(fā)布消息,還可以推薦食品(根據(jù)反饋), 菜譜管理等一些輔助功能。關(guān)鍵詞:android;客戶端;訂餐、引言(一)開發(fā)背景在網(wǎng)絡(luò)技術(shù)快速發(fā)展的今天,原先普通的電話預(yù)

3、定餐廳已經(jīng)不能滿足的功能需求。網(wǎng)絡(luò)越來 越貼近生活,本產(chǎn)品通過網(wǎng)絡(luò)訂餐方便商家客戶互動。用戶通過注冊登陸的方式能及時(shí)看到 餐飲商家更新的信息,包括餐廳環(huán)境,菜肴信息,菜價(jià)等,反饋飯菜的好吃與否。商家可及 時(shí)更新信息,處理訂單,通知客戶訂單確認(rèn)。系統(tǒng)管理員可以維護(hù)更新發(fā)布消息,還可以推 薦食品(根據(jù)反饋),菜譜管理等一些輔助功能。(二)面向?qū)﹀鑼W(xué)校內(nèi)的學(xué)生,教師(三)開發(fā)工具的介紹以下是對食物信息管理系統(tǒng)的開發(fā)環(huán)境進(jìn)行闡述:操作系統(tǒng):windows xp數(shù)據(jù)庫:mysqls. 2開發(fā)工具:eclipse二、需求分析1用戶注冊用戶使用android app進(jìn)行注冊或登錄。若未注冊可選擇注冊,只冇注

4、冊用戶方可點(diǎn)餐。 未注冊用八:只能登陸查詢餐廳菜希信息,不能訂餐;注冊用戶:注冊提供用戶名,密碼郵箱,短號或其他聯(lián)系方式,學(xué)號或工號??梢圆樵冃畔? 可以訂餐。2登陸客戶端登陸進(jìn)行點(diǎn)餐,服務(wù)端登陸進(jìn)行管理。3查看餐廳信息顯示餐廳的各種信息,包插餐廳名稱,1d圖片文字說明。卅戶找到自己喜歡的餐廳后,點(diǎn) 擊餐廳圖片進(jìn)入此餐廳信息頁面,可同構(gòu)點(diǎn)擊菜肴信息進(jìn)入訂餐。4查看菜肴信息用戶再點(diǎn)擊進(jìn)入菜看信息后,可以查看所有菜肴信息,包括名稱、圖片、價(jià)格、餐廳等,找 到自己喜歡的菜肴可以點(diǎn)擊確定,還可以根據(jù)就餐愛好,分類查詢,動態(tài)搜索。5訂餐確認(rèn)用八在選擇餐廳菜希后,可點(diǎn)擊確定,系統(tǒng)根據(jù)用八選擇會自動生成訂單

5、信息,包括訂單 id,用戶名,學(xué)號或工號,餐廳id,餐廳名稱,菜肴id,菜肴名稱,菜式剩余數(shù)量,到餐 時(shí)間,取貨地點(diǎn),聯(lián)系方式等。用戶杳看又不滿意可以取消訂單或者更換菜肴,肓至滿意。 然后點(diǎn)擊訂單確認(rèn),此訂單牛成,訂單信息系統(tǒng)自動存儲。6商家確認(rèn)訂單生成在用戶生成訂單示,餐廳杏看,并確認(rèn)。7商家更新信息商家根據(jù)實(shí)體店近期信息,可選擇更新餐廳信息,包括菜肴信息及優(yōu)惠信息等。更新菜肴信 息:包括名稱、口味、圖片、編號、價(jià)格等,更新優(yōu)惠信息。更新結(jié)朿后,點(diǎn)擊確認(rèn),信息 生成并保存在服務(wù)端。三、系統(tǒng)設(shè)計(jì)(-)系統(tǒng)設(shè)計(jì)的體系結(jié)構(gòu)木系統(tǒng)的設(shè)計(jì)及開發(fā)采用了流行的b/s (瀏覽器/服務(wù)器)模式的數(shù)據(jù)庫體系,用

6、戶端主要 負(fù)責(zé)人機(jī)交互,包括一些與數(shù)據(jù)和應(yīng)用關(guān)系的圖形和界面運(yùn)用。血b服務(wù)器主要負(fù)責(zé)對客八 端應(yīng)用程序的集中管理。應(yīng)用服務(wù)器主耍負(fù)責(zé)應(yīng)用系統(tǒng)的邏輯結(jié)構(gòu)和數(shù)據(jù)關(guān)系,即事務(wù)處理。 應(yīng)用服務(wù)器又可以根據(jù)其處理的具體業(yè)務(wù)不同而分為多個(gè)。數(shù)據(jù)服務(wù)器則主要負(fù)責(zé)數(shù)據(jù)的存 儲和組織、分布式管理、備份和同步等等。(二)系統(tǒng)流程圖根據(jù)食物網(wǎng)站設(shè)計(jì)的特點(diǎn),將其分為兩大模塊:前臺用八模塊和后臺管理員模塊。1. 前臺模塊流程圖如圖3-1所示:圖3-1前臺模塊流程圖2. 后臺模塊流程圖如圖3-2所示:圖3-2后臺模塊流程圖(三)系統(tǒng)功能圖繪制系統(tǒng)結(jié)構(gòu)圖的過程,實(shí)際上就是對系統(tǒng)功能模塊進(jìn)行分解設(shè)計(jì)的過程,即合理地將數(shù)據(jù) 流

7、程圖轉(zhuǎn)變?yōu)樗枰南到y(tǒng)結(jié)構(gòu)圖。系統(tǒng)結(jié)構(gòu)圖將會使讀者和用八能直觀的了解系統(tǒng)的結(jié)構(gòu)模式,理解系統(tǒng)的各個(gè)功能的結(jié)構(gòu), 能很好地方便用戶使用和理解整個(gè)系統(tǒng)。根據(jù)上述分析,按照結(jié)構(gòu)化程序設(shè)計(jì)的需求,得到系統(tǒng)模塊圖,如圖3-3所示:四、數(shù)據(jù)庫表設(shè)計(jì)()系統(tǒng)e-r圖e-r圖由實(shí)體、實(shí)體的屬性以及實(shí)體之間的關(guān)系三部分組成,實(shí)體是具冇相同的性質(zhì)并且彼 此之間可以相互區(qū)分的現(xiàn)實(shí)世界対象的集合;屬性是實(shí)體所具有的特征,它是描述實(shí)體或者 關(guān)系的性質(zhì)的數(shù)據(jù)項(xiàng);實(shí)體z間的關(guān)系通常是指不同實(shí)體z間的關(guān)系。圖4-1 e-r圖(二)系統(tǒng)數(shù)據(jù)表設(shè)計(jì)數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)少存取方法被稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴給定的計(jì)算 機(jī)

8、系統(tǒng)。為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求的物理結(jié)構(gòu)。根據(jù)上血的實(shí)體 關(guān)系分析以及er圖,設(shè)計(jì)系統(tǒng)的數(shù)據(jù)庫表。1. 管理員信息表(t_admin),用來記錄管理員的姓名及密碼的信息。表4-1管理員信息表序號列名數(shù)據(jù)類型標(biāo)識主鍵允許空說明1useridtnt是是否管理員編號2usernamevarchar(50)否否是管理員姓名3userpwvarchar(50)否否是管理員密碼2.站內(nèi)公告信息表(t_gonggao),主要記錄了站內(nèi)公告的標(biāo)題、內(nèi)容、日期和公告發(fā)布者, 公告刪除則是在數(shù)據(jù)庫表中顯示公告是否已被刪除。表4-2站內(nèi)公告信息表序號列名數(shù)據(jù)類型標(biāo)識主鍵允許空說明1gongga

9、o idint是是否公告編號2gonggao titlevarchar(50)否否是公告標(biāo)題3gonggao contentvarchar(8000)否否是公告內(nèi)容4gonggao datavarchar(50)否否是公告日期5gonggao fabuzhevarchar(50)否否是發(fā)布者6gonggao delvarchar(50)否否是公告刪除7gonggao onclvarchar(50)否否是公告18gonggao one2varchar(50)否否是公告29gonggao one3varchar(50)否否是公告310gonggao one4varchar(50)否否是公告411g

10、onggao one5datetime (0)否否是公告512gonggao one6datetime (0)否否是公告613gonggao one7int (11)否否是公告714gonggao one8tnt (11)否否是公告83.食物信息表(t_food),該表主要用來記錄食物的名稱、所在地址、食物價(jià)格和食物的詳 情,并可以在數(shù)據(jù)庫表中查看到食物信息是否被刪除,其中食物編號是表中的外鍵。表4-3食物信息表序號列名數(shù)據(jù)類型標(biāo)識主鍵允許空說明1idtnt是是否食物編號2namevarchar(50)否否是食物名稱3addressvarchar(50)否否是地址4menpiaoint否否是送

11、餐5xiangqingvarchar(5000)否否是詳情6delchar(10)否否是刪除4.訂單信息表(t_jiudian),用來記錄客人的名稱、地址以及客人的號碼、聯(lián)系人和訂餐的 一些標(biāo)準(zhǔn),其中食物編號是信息表小的外鍵。表4-4酒店信息表序號列名數(shù)據(jù)類型標(biāo)識主鍵允許空說明1idint是是否食堂編號2n amevarchar(50)否否是食物名稱3addresschar(10)否否是送餐地址4telchar(10)fr否是送餐號碼5lianxirenchar(10)否否是聯(lián)系人6biaozhunchar(10)否否是標(biāo)準(zhǔn)7food idint否否是食物編號8delchar(10)否否是刪除

12、表4-5食物信息表序號列名數(shù)據(jù)類型標(biāo)識主鍵允許空說明1idint是是否食物編號2namevarchar (50)否否是食物名稱3addressvarchar(5000)否否是內(nèi)容4telvarchar (50)否否是聯(lián)系方式51ianxirenvarchar(50)否否是聯(lián)系人6jianjievarchar(50)否否是簡介7delvarchar(50)否否是刪除6.訂餐信息表(t.foods),用來記錄訂餐的標(biāo)、內(nèi)容以及訂餐的日期。 表4-6訂餐信息表序號列名數(shù)據(jù)類型標(biāo)識主鍵允許空說明1foods idint是是否訂餐編號2foods_titlevarchar(50)否否是訂餐標(biāo)題3food

13、s_contentvarchar(5000)否否訂餐內(nèi)容4foods_datevarchar(50)否否是訂餐日期5foods onelvarchar(50)否否訂餐16foods_one2varchar(50)否否是訂餐27foods one3varchar(50)否否是訂餐38foods_one4varchar(50)卉否是訂餐49foods one5int否否是訂餐57.網(wǎng)友投票信息表t_toupiao),通過投票的方式得知用戶是如何評價(jià)每一種食物的,該表 記錄了投票的名稱和投票的h期。表4-7網(wǎng)友投票信息表序號列名數(shù)據(jù)類型標(biāo)識主鍵允許空說明1toupiaoidtnt是是否投票編號2to

14、upiao_namevarchar(50)否否是投票名稱3toupiao_datevarchar(5000)否否是投票日期8.用戶信息表(t_user),用來記錄用戶名、密碼、用戶類型、用戶的真實(shí)姓名及用戶的地 址、性別、用戶的聯(lián)系方式、郵箱和qq。表4-8用八信息表序號列名數(shù)據(jù)類型標(biāo)識主鍵允許空說明1user idint是是否用戶編號2usernamevarchar(50)否否是用戶名3user_pwvarchar(5000)否否是用戶密碼4user typeint否否是用戶類型5userreainamevarchar(50)否否是用戶真實(shí) 姓名6user_addressvarchar(50

15、)否是用戶住址7user sexvarchar(50)否否是性別8user_telvarchar(50)否是用戶聯(lián)系 方式9user_emailvarchar(50)否否是用戶郵箱10user_qqvarchar(50)否否是用戶qq五、系統(tǒng)功能的具體實(shí)現(xiàn)(一)網(wǎng)站首頁在食物資源管理網(wǎng)站首頁可查看發(fā)布的訂餐資訊、發(fā)布的食物公告信息、可按關(guān)鍵字查詢食物信息、可進(jìn)行投票調(diào)查等功能,用戶登錄之后即可進(jìn)入網(wǎng)站首頁,首頁如卜圖5-1所示:圖5-1網(wǎng)站首頁圖主要代碼如下:package food. test. zqz. util;import java. io. inputstream;import ja

16、va. net. httpurlconnection;import javanet. url;import javautil. arraylist;import java. util. hashmap;import java. util. list;import java, uti1 map;import org apache, http. httpresponse;import org. apache, http. namevaluepai r;import org. apache. http> client, entity. urlencodedformentity;import o

17、rg. apache, http, client, methods. httppost;import org apache http, imp1. c1ient. defaulthttpclient;import org apache, http, message. basicnamevaluepair;import org. apache, http, protocol. http;import org. apache. http> util. entityutils;import android. graphics .bitmap;import android graphics bi

18、tmapfactory;import androidutil. log;import android, widget. imageview;import food test, domain. food;/* author zhuqiuzhu從服務(wù)器獲取有關(guān)主界fri的所有數(shù)據(jù)*/public class getnetworkdata /菜品圖片資源定位符publicfinalstaticstringurl"http:/l0. 0. 2. 2:8080/destinefoodserver/images,z;publicfinalstaticstringurl_allfoodz,http

19、:/10. 0. 2. 2:8080/destinefoodserver/getallfoodservletz/;/* param url* 服務(wù)器端的uri地址* param params* 發(fā)給服務(wù)端的請求參數(shù),以鍵值對的形式封裝名字和對應(yīng)的值,* <p>* 其中params的名字鍵位應(yīng)該跟服務(wù)端保持一致* </p>* return*/public final static stringbuffer getconnectionpost(string url, hashmap<string, string> params) stringbuffer sb

20、= new stringbuffer();httppost request = null;httpresponse response = null;try if (url != null) /*請求*/request = new httppost(url);list<namevaluepair> list = new arraylist<namevaluepair>();for (map. entrystring, string> entry : params. entryset() string name = ontry. getkey ();string va

21、lue = entry. getkey ();1ist. add(new basicnamevaluepair (name, value);request. sotentity(now urlencodedeormentity(list, http. utf_8);/*響應(yīng)*/response = new defaulthttpclient(). execute(request);if (response. getstatuslineo. getstatuscodeo = 200) string temp = entityutils. tostring(responsa getentity (

22、); if (temp. trim(). length() > 0) sb. append(temp); else sb. append (z,error response data length"); else sb. append (z,error response code: ) append( response. getstatuslineo. getstatuscode(); else / url為空 return null; catch (exception e) c. printstacktrace ();return sb;/ end of getconnect

23、ionpost()/*對服務(wù)器端的響應(yīng)數(shù)據(jù)進(jìn)行“解碼”* <p>*解碼規(guī)則:約定服務(wù)器端傳送的數(shù)據(jù)為字符串類型,格式為<br>* neime=vdlue;name=value;,name=value;, <br>*注意j兩端無空格,必須以開頭,以結(jié)束* </p>* param sb* 服務(wù)器端的響應(yīng)數(shù)據(jù)* return 一個(gè)以鍵值対形式存儲的服務(wù)端響應(yīng)數(shù)據(jù)*/public final static arraylist<food> decoderesponsedata(string sb) arrayli st<food>

24、resdata = new arraylist<food>();string itemstr ="“;string name = “;string value ="”;food food;do int a = sb. indexof c );i f (a 二二-1) itemstr = sb;/ decode(resdata, initresponse); food = new food();/ 一個(gè)while語句對應(yīng)一個(gè)food對象,等等還要重構(gòu) while (true) int n_last = itemstr. indexof (j );name = it

25、emstn substring(l, n_last);system out. print in(name);int v_first = itemstr. indexof ('二');i temstr = i temstr. substring(v_first);int v_last = itemstr. indexofc ;');if (v_last = -1) v_last = itemstr. indexof('');value = itemstr. substring(1, v_last);system out. println(value);if

26、 (name. equals("foodid") && name != null) food, foodld = integer, parseint(value); else if (name, equals(z/foodpricez/) && name != null)food. foodprice = float. parsefloat(value); else if (name. equals(,zfoodtype,z) && name != nul 1) food. foodtype = integer, parscl

27、nt(value); else if (name, equals(z'fooddoscrizz) && name != nul 1)food.fooddescri = value; else if (name, equals(,zfoodlmage/z) && name != null) food.foodimage = value; else if (name, equals(z'foodname/,) && name != null) food.foodname = value; else log e("、"

28、;'error params");i temstr = i temstr. substring(v_last); if (itemstr. trim()> startswith(z,/z)| | itemstr. trim(). length() <= 2) break;/ end of while resdata. add(food);break;itemstr = sb.substring(0, a );/ decode(resdata, itemstr); food = new food();while (true) int n last = itemstr

29、. indexof (j =,); name = itemstr> substring(l, n_last); system out printin(name);int v_first = itemstr. indexof =,); itemstr = itemstr. substring(v_first);int v_last = itemstrindexof(,i f (v_last 二二-1) v last = itemstr. indexof('');value = itemstr. substring(l, v_last);system, out. printl

30、n(value);loge(n8me + name, "value" + value);if (name, equals(zzfoodtd,z) && name != nul 1) food, foodld = integer, parselnt (value); else if (name trim(). equals("foodprice)&& name != null)log. e ("getnet test", "" + name);food. foodprice 二 float>

31、; parseeloat(value); else if (name. equals(,zfoodtype,z) && name != null) log. e ("getnet test", "" + value);food. foodtype 二 integer, parselnt(value); else if (name. equals(,zfooddescri,z) && name != null) food.fooddcscri = value; else if (name equals(fo()dlm3ge)

32、&& name != null) food.foodimage = value; else if (name, equalsc,foodname,/) && name != null) log.e(getnet test", "" + value);food.foodname 二 value; else loge(""、"error params");itemstr = itemstr.substring(v last);if (itemstr. trim(). startswith(&quo

33、t;")i | itemstr. trim(). length() <= 2) break;/ end of whi1eresdata. add (food);sb = sb. substring (a + 1); while (true);return resdata;/ end of decoderesponsedata()/*對圖片的接收還要等等*/public static arraylist<food> decode(arraylist<food> resdata, string itemstr)string name =;string val

34、ue ="“;food food = new food();while (true) int n_last = i temstr. indexof ( ='); name = itemstr. substring(l, n_last); system, out. println(name);int v_first = itemstr. indexof =,); itemstr = itemstrsubstring(v_first);int v last = itemstr. indexofif (v_last = -1) vlast = itemstr. indexof (&

35、#39;');value = itemstr. substring(l, v last); system.out. print in(value);itemstr = itemstr. substring(v_last);if (itemstr. trim(). startswithczz,) | | itemstr. trim(). length() <= 2) break;if (name. equals("foodld") && name != null) food, foodid = integer parselnt (value);

36、else if (name, equals("foodprice") && name != nul1) food. foodprice = float. parsefloat(value); else if (name. equals(z/foodtype,z) && name != null) food.foodtype = integer. parsetnt(value); else if (name, equalsc,fooddescri,z) && name != null) food. fooddcscri = va

37、lue; else if (name equals("foodtmeige”)&& name != null) foodfoodlmage = value; else if (name, equalsc/foodname/,) && name != null) food. foodname = value; else log. e(""、"error params,z);resdata add (food);food = new food ();/ end of whilereturn resdata;/ end of d

38、ecode()/ /*/ * / */ */*根據(jù)所傳參數(shù)設(shè)定訂餐的所有菜品的圖片* param al 1 image info* 封裝了所有要顯示的圖片信息ur 1 +foodtmageview <br>/ * param al 1 imageinfo / * 封裝了所4 / * url即對總 ©link# setfoodbitmapurl() / * 設(shè)定。<br*/ * / */foodlmageview訂餐系統(tǒng)界面的u1元索public static void setfoodbitmap(/ public static void /arraylist<

39、arraylist<iiashmap<string, lmageview>> alllmagelnfo) * url即對應(yīng)服務(wù)器端資源地址(対于本方法資源即圖片,同下),可由/網(wǎng)絡(luò)協(xié)議屮的url對象/url imageurl = null;/管理http連接/h11purlconnection conn 二 null;/try /if (url != null) /imageurl = new url(url):/根據(jù)url打開一個(gè)可以雙向通信的連接/conn = (httpurlconnection) imageur1 opcnconncction()/設(shè)置連接町以輸

40、入/conn. setdotnput(true);/根據(jù)之前配迸建立連接,建立后不能再設(shè)配直/conn, conn oct ();/獲取指定url資源/tnputstream in 二 conru gettnputstreamo ;/bitmap bi tmap = bitmapfactory. decodestream (in);/if (foodlmageview != null) /food imageview set imagebi tmap(bi tmap);/ else /log. e furl,”為空);/ catch (exception e) /e. printstacktr

41、ace ();/ / end of setfoodbi tmapbytype ()/* param foodtype* 菜品類型* param location* 對應(yīng)資源的位置* param foods* 服務(wù)端所有的菜品信息 對應(yīng)的資源名稱,詳細(xì)設(shè)定見©link food.test domain. food類* return對應(yīng)菜品類型所有資源的url的字符串*/publ ic static arrayliskstring> gctal lfoodbitmapurl (int foodtype, string location,arraylist<food> f

42、oods) /存儲所有指定菜吊的定位字符串a(chǎn)rraylist<string> urls = new arraylist<string>();whlie (foods, iterator (). hasnext () /若該菜rvi屬于指定foodtype類型if (foodtype = foodsiterator().next(). foodtype) /暫時(shí)存一個(gè)urlstring url ="”;if (location. endswithc/") url = location + foods, iterator ().next ()foodtm

43、age; else url = location + / + foods, iterator(). next(). foodimage;urls. add (url);/ end of 辻return urls;/ end of getallfoodbitmapurl()/*獲取指定資源的具體位置* ©param local io n 資源集的 url* ©param food image服務(wù)端某個(gè)的菜品信息 對應(yīng)的資源名稱,詳細(xì)設(shè)定見1 ink food. test, domain. food類* return*/public static stringgetassign

44、edfoodbitmapur1 (stringlocation, stringfoodtmage) string url = “;if (location. endswith(,7,/) url = location + foodimage; else url = location + "7 + food i mage;return url;/ end of getassignedfoodbitmapurl()/*可ill ©link#tmagevi ew* ©param url對應(yīng)服務(wù)器端資源地址(對于本方法資源即圖片,同下), getassignedfoodb

45、itmapurl()* 獲取。<br>* param food i mage view food i mage view 訂餐系統(tǒng)界面的 u1 元索*/publi c stati c void setassi gnedfoodb i mapv i ew(string url, foodlmageview)/網(wǎng)絡(luò)協(xié)議中的url對象url imageurl = null;/管理http連接httpurlconnection conn = null;try if (url != null) imageurl = new url(url);/根據(jù)url打開一個(gè)町以雙向通信的連接conn =

46、 (httpurlconnection) imageurl. openconnection() 設(shè)置連接可以輸入corm.setdoinput(true);/根據(jù)z前配置建立連接,建立后不能再設(shè)配置conn- connect ();/獲取指定url資源inputstream in 二 conn.get!nputstream();bitmap bitmap = bitmapfactory decodestreeim( in);if (foodlmageview != nul1) foodlmageview se11magobitmap(bitmap);log. e curl,為空); catch

47、 (exception e) e. printstacktraceo ;finallycorm, di sconnect();/ end of getnetworkdata(二)食物杏詢可在網(wǎng)站上按關(guān)鍵詞進(jìn)行査詢相關(guān)食物,食物查詢?nèi)缦聢D5-2所示:圖5-2食物查詢主要代碼如下:package food. test, hyl;import java io. ioexccption;import java io.unsupportedencodingexception;import java, uti1 arrayli st;import java. util. list;import org a

48、pache http. httprcsponse;import org apache, http. namevaluepair;import org. apache, http, client. clientprotocolexception;import org. apache, http, client, entity urlencodedformentity; import org. apache, http, client, methods. httppost;import org.apacho.http imp1client. defaulthttpclient; import or

49、g apache, http, message. basicnamevaluepair;import org. apache, http, protocol.http;import foodtcstr;import food test.uti1dbuti1;import food test. wjf. shopcart;import food. test. wjf. shopcartshowal1;import androidapp.activity;import android. appalcrtdialog;import android.app.dialog;import android

50、content. dialogtnterface;import androidcontent.intent;import android content. sharedpreferences;import android. os.bundie;import androidutil. log;import androidview.view;import android view. view. onclicklistener;import android. widget. button;import android widget edi ttext;import android .widget.

51、textview;private pri vate private private private private private private private public public public public public publicdbutil db; textview textview edittext edi ttext edittext edi ttext button button string string string string string stringpublic class orderlistactivity extends activity tvname_

52、show; /客廣的名字顯示 tvid_show;/客戶的id顯示 etaddress; 客戶的地址 ete_mai 1;/客戶的 emai 1 ettel ephone ; 客戶的電話號碼 etsuggest; 客戶的要求。(要不要加配料等)bsubmit; bcanccl; address;emai1 ; telephone ; userid;/客戶的 id suggest ;usernamo; /客戶的 nameprivate arraylist<shopcart> orderfoods = new arraylist<shopcart>() ;/購物車中的菜的信

53、息。protected void oncreate (bundie savedinstancestale) super.oncreate(savedinstancestate);log. e(,zl 11111111 "tttttt"); setcontentview(r. layout. hyl_order);sharedpreferencessharethis. getsharedpreferences("android", mode_world_readable);usertd = share. getstring(,zusertd,z, “);

54、username = share. getstringc'username, ");db=new dbutil(this);orderfoods = db. getfoodfromcart ();從客戶端數(shù)據(jù)庫讀出購物車中的信息。final object foods = new objectorderfoods. size() 5; tvname_show = (textview) findviewbyid(r. idtvname_show); tvid show = (textview) findviewbyld(r. id. tvld show);etaddress = (edittext) findviewbyld(r. id. etaddress) ;/客戶地址的編輯框 ete_mai 1 = (edi ttext) findviewbytd(r. id. ete_mai 1) ;/客戶郵箱編輯框 ettelephon

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論