電子點(diǎn)菜系統(tǒng)畢業(yè)論文(含外文翻譯) .doc_第1頁
電子點(diǎn)菜系統(tǒng)畢業(yè)論文(含外文翻譯) .doc_第2頁
電子點(diǎn)菜系統(tǒng)畢業(yè)論文(含外文翻譯) .doc_第3頁
電子點(diǎn)菜系統(tǒng)畢業(yè)論文(含外文翻譯) .doc_第4頁
電子點(diǎn)菜系統(tǒng)畢業(yè)論文(含外文翻譯) .doc_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余73頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

存檔編號(hào) 華北水利水電學(xué)院 north china university of water resources and electric power 畢 業(yè) 設(shè) 計(jì)題目 電子點(diǎn)菜系統(tǒng) 客戶端子系統(tǒng) 學(xué) 院 信息工程學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 姓 名 馮亞杰 學(xué) 號(hào) 200810707 指導(dǎo)教師 張玉華 完成時(shí)間 2012年5月20日 教務(wù)處制 華北水利水電學(xué)院畢業(yè)設(shè)計(jì)獨(dú)立完成與誠信聲明本人鄭重聲明:所提交的畢業(yè)設(shè)計(jì)(論文)是本人在指導(dǎo)教師的指導(dǎo)下,獨(dú)立工作所取得的成果并撰寫完成的,鄭重確認(rèn)沒有剽竊、抄襲等違反學(xué)術(shù)道德、學(xué)術(shù)規(guī)范的侵權(quán)行為。文中除已經(jīng)標(biāo)注引用的內(nèi)容外,不包含其他人或集體已經(jīng)發(fā)表或撰寫過的研究成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中作了明確的說明并表示了謝意。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。畢業(yè)設(shè)計(jì)(論文)作者簽名: 指導(dǎo)導(dǎo)師簽名: 簽字日期: 簽字日期:畢業(yè)設(shè)計(jì)(論文)版權(quán)使用授權(quán)書本人完全了解華北水利水電學(xué)院有關(guān)保管、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定。特授權(quán)華北水利水電學(xué)院可以將畢業(yè)設(shè)計(jì)(論文)的全部或部分內(nèi)容公開和編入有關(guān)數(shù)據(jù)庫提供檢索,并采用影印、縮印或掃描等復(fù)制手段復(fù)制、保存、匯編以供查閱和借閱。同意學(xué)校向國家有關(guān)部門或機(jī)構(gòu)送交畢業(yè)設(shè)計(jì)(論文)原件或復(fù)印件和電子文檔(涉密的成果在解密后應(yīng)遵守此規(guī)定)。畢業(yè)設(shè)計(jì)(論文)作者簽名: 導(dǎo)師簽名:簽字日期: 簽字日期:ii 華北水利水電學(xué)院畢業(yè)設(shè)計(jì)目 錄north china university of water resources and electric power1摘 要4abstract5第1章 引言61.1 課題背景61.2 android無線點(diǎn)菜系統(tǒng)開發(fā)的目的和意義71.3 開發(fā)環(huán)境71.3.1 硬件環(huán)境71.3.2 軟件環(huán)境及語言71.4 本章小節(jié)8第2章 系統(tǒng)的關(guān)鍵技術(shù)及介紹82.1 android技術(shù)概況92.2 android的優(yōu)勢(shì)102.3利用mysql來建立數(shù)據(jù)庫112.4 client/server模式122.5 jdbc122.6 android的mvc132.7 本章小節(jié)14第3章需求分析153.1系統(tǒng)需要解決的主要問題153.2 系統(tǒng)應(yīng)具備的基本功能153.3 系統(tǒng)性能需求163.4 本章小結(jié)16第4章 項(xiàng)目總覽174.1 總體設(shè)計(jì)174.2 系統(tǒng)流程圖184.3系統(tǒng)功能184.4數(shù)據(jù)庫設(shè)計(jì)194.4.1數(shù)據(jù)庫需求分析194.4.2數(shù)據(jù)庫表格設(shè)計(jì)214.4 本章小結(jié)23第5章 系統(tǒng)詳細(xì)設(shè)計(jì)235.1 系統(tǒng)登陸模塊設(shè)計(jì)與實(shí)現(xiàn)235.1.1 loginactivity235.1.2 客戶端登錄界面的設(shè)計(jì)245.2 點(diǎn)菜模塊的設(shè)計(jì)與實(shí)現(xiàn)255.2.1 客戶端開桌模塊的實(shí)現(xiàn)265.2.2 客戶端點(diǎn)菜下單模塊的設(shè)計(jì)與實(shí)現(xiàn)265.3 查臺(tái)模塊設(shè)計(jì)與實(shí)現(xiàn)275.3.1 客戶端查臺(tái)模塊實(shí)現(xiàn)285.4 并臺(tái)模塊的設(shè)計(jì)與實(shí)現(xiàn)285.4.1 客戶端并臺(tái)模塊的設(shè)計(jì)與實(shí)現(xiàn)295.5 轉(zhuǎn)臺(tái)模塊的設(shè)計(jì)與實(shí)現(xiàn)295.5.1 客戶端轉(zhuǎn)臺(tái)模塊的設(shè)計(jì)與實(shí)現(xiàn)305.6 更新模塊的設(shè)計(jì)與實(shí)現(xiàn)305.6.1 客戶端更新模塊的設(shè)計(jì)與實(shí)現(xiàn)305.7 結(jié)臺(tái)模塊的設(shè)計(jì)與實(shí)現(xiàn)315.7.1 客戶端結(jié)臺(tái)模塊的設(shè)計(jì)與實(shí)現(xiàn)325.8 注銷模塊的設(shè)計(jì)與實(shí)現(xiàn)32第6章 總結(jié)和展望346.1 總結(jié)346.2 展望34致 謝36參考文獻(xiàn)37附錄1: 外文原文38what is android?38附錄2:外文譯文43什么是 android?43附錄3:任務(wù)書48附錄4:開題報(bào)告iii附錄5:主要程序1摘 要 本文研究了基于android的無線點(diǎn)餐系統(tǒng)的客戶端的開發(fā),目的就是通過該系統(tǒng)為餐飲業(yè)帶來嶄新的服務(wù)手段和管理理念,優(yōu)化業(yè)務(wù)流程,大幅度提升餐廳的服務(wù)品質(zhì)與企業(yè)形象,實(shí)現(xiàn)企業(yè)價(jià)值最大化同時(shí)使自己的成本最低化,并最終提高其本身在餐飲行業(yè)的競(jìng)爭(zhēng)優(yōu)勢(shì)。本系統(tǒng)是基于android的一款網(wǎng)絡(luò)應(yīng)用,采用eclipse和myeclipse開發(fā)工具進(jìn)行開發(fā)??蛻舳瞬捎胊ndroid ui開發(fā)技術(shù),采用xml布局,使用activity和contentprovider開發(fā)組件,遵循mvc模式開發(fā);服務(wù)端采用dao+mvc模式開發(fā),采用servlet和mysql以及android本身自帶的sqlite進(jìn)行數(shù)據(jù)存儲(chǔ)和操作,網(wǎng)絡(luò)傳輸協(xié)議遵循h(huán)ttp協(xié)議進(jìn)行數(shù)據(jù)的傳輸和請(qǐng)求。本系統(tǒng)可以使用兩個(gè)身份進(jìn)行登陸,包含管理員和服務(wù)員,管理員主要負(fù)責(zé)賬號(hào)管理和菜單管理以及退出等操作,而服務(wù)員主要負(fù)責(zé)開菜、并臺(tái)、轉(zhuǎn)臺(tái)、查臺(tái)、更新、設(shè)置、注銷、結(jié)臺(tái)等操作,保證了系統(tǒng)的安全性和嚴(yán)謹(jǐn)性。關(guān)鍵詞:android;電子點(diǎn)菜系統(tǒng);mysql;xmlabstractthis study is on the application of android intelligent mobile wireless client ordering system. the purpose is for a catering through this systempurpose is for a catering through this system to brand new service and management philosophy. as a result, business process will be optimized with an improvement of the restaurants service quality, an exhancement of corporate image, a maximization of the value of enterprises and a minimization of cost, and ultimately an enhanced competitive advantage among the catering industry.the system is based on the copy of the android a network applications, which uses the eclipse and the myeclipse development tools to develop. the client uses android ui development technology which will use the xml layout.using the activity and contentprovider development kit, follow the mvc pattern development; the server uses dao and mvc pattern development, using the servlet and mysql and android itself bring sqlite data storage and operation, network transmission agreement followed the http protocol data transmission and the request.the system can use two identities for landing, including administrators andattendants, the administrator responsible for account management and menumanagement, and exit and other operations, while the waiter is mainly responsible for the open dish, and taiwan, turntable, check taiwan, updates, set, write-offjunction station operation, to ensure the security of the system and rigor. 朗讀顯示對(duì)應(yīng)的拉丁字符的拼音字典key words: android; electronic order system; mysql; xml第1章 引言1.1 課題背景我們生活在一個(gè)到處都充斥著數(shù)字技術(shù)的世界里,隨著無線通信技術(shù)的突飛猛進(jìn),移動(dòng)生活、移動(dòng)辦公已經(jīng)從一種空中樓閣的幻想中轉(zhuǎn)變成大眾生活中隨手可及的實(shí)用技術(shù)。而傳統(tǒng)的勞動(dòng)密集型、低科技含量的餐飲業(yè),也在潛移默化中折服著無線網(wǎng)絡(luò),悄然發(fā)生著技術(shù)革命,而其中最為突出的應(yīng)用就是無線點(diǎn)菜技術(shù)。在大多數(shù)的餐飲場(chǎng)所中點(diǎn)菜、查看菜譜等工作都是人工完成的。這需要通過大量的手工勞動(dòng)完成,速度慢,耗費(fèi)人力多,而且非常易出錯(cuò),進(jìn)而導(dǎo)致其工作效率低,造成人力物力的極大浪費(fèi)。為了節(jié)省人力和時(shí)間,避免不必要的錯(cuò)誤,我們通過對(duì)此作認(rèn)真細(xì)致的調(diào)查研究后,決定開發(fā)本系統(tǒng)。在現(xiàn)行餐飲管理的基礎(chǔ)上,建立科學(xué)的計(jì)算機(jī)餐飲管理系統(tǒng)數(shù)據(jù)庫,用計(jì)算機(jī)工作代替以往大量的人工勞動(dòng),提高工作效率,促進(jìn)餐飲自動(dòng)化,適應(yīng)當(dāng)今科學(xué)技術(shù)飛速發(fā)展的需要。1.2 android無線點(diǎn)菜系統(tǒng)開發(fā)的目的和意義 如今移動(dòng)終端的發(fā)展非常迅速,手機(jī)功能也日益強(qiáng)大,移動(dòng)互聯(lián)網(wǎng)更是被業(yè)界認(rèn)為必然趨勢(shì)。智能手機(jī)的興起使得人們可以通過手機(jī)終端來完成許多事情。而本系統(tǒng)通過手機(jī)定位,查詢,訂餐更是非常實(shí)用,尤其是在上班吃午飯時(shí)使用,能節(jié)省大量的等待時(shí)間。而且也可以幫助餐廳利用互聯(lián)網(wǎng)拓展業(yè)務(wù)?,F(xiàn)在android的發(fā)展迅速,在中國市場(chǎng)的占有率為15%左右。未來幾年肯定是會(huì)迅速上升。移動(dòng)互聯(lián)網(wǎng)的迅速發(fā)展已經(jīng)改變了人們的許多習(xí)慣,而基于android的電子點(diǎn)菜技術(shù)更是給餐廳和客人帶來了大量的便利,使人們?cè)诔燥埖耐瑫r(shí)能夠享受到高科技帶來的樂趣,同時(shí)也能促使android技術(shù)的廣泛傳播,更能深入到普通用戶的心中,總之a(chǎn)ndroid無線點(diǎn)菜技術(shù)的出現(xiàn)具有劃時(shí)代的意義。1.3 開發(fā)環(huán)境1.3.1 硬件環(huán)境計(jì)算機(jī): intel 或兼容機(jī); pentium 166 mhz 或更高內(nèi)存(ram):64m以上 監(jiān)視器 vga或更高分辨率1.3.2 軟件環(huán)境及語言軟件環(huán)境:microsoft windows me、windows 98、windows nt workstation 4.0、windows 2000 professional、microsoft windows nt server 4.0、windows 2000 server 和所有更高級(jí)的 windows 操作系統(tǒng)。技術(shù)與語言:mysql、eclipse、myeclipse、tomcat6.0,java,android1.4 本章小節(jié)首先介紹了課題研究的背景,其次簡(jiǎn)述了在此背景下開發(fā)android電子點(diǎn)菜系統(tǒng)的目的和意義,最后介紹了開發(fā)本系統(tǒng)所需的軟硬件環(huán)境。第2章 系統(tǒng)的關(guān)鍵技術(shù)及介紹在基于android的電子點(diǎn)菜系統(tǒng)設(shè)計(jì)過程中,主要考慮了以下幾個(gè)方面的問題:(1) android技術(shù)(2) 選擇系統(tǒng)的開發(fā)模式,c/s模式(3) mvc+dao對(duì)象模型(4) 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)(5) 建立數(shù)據(jù)庫,使用mysql來建立2.1 android技術(shù)概況2.1.1 android的歷史背景android是基于linux開放性內(nèi)核的操作系統(tǒng),是google公司在2007年11月5日公布的手機(jī)操作系統(tǒng)。 早期由原名為android的公司開發(fā),谷歌在2005年收購android.inc后,繼續(xù)進(jìn)行對(duì)android系統(tǒng)開發(fā)運(yùn)營(yíng),它采用了軟件堆層(software stack,又名軟件疊層)的架構(gòu),主要分為三部分。底層linux內(nèi)核只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),部分程序以java編寫。android的主要競(jìng)爭(zhēng)對(duì)手是蘋果公司的ios以及rim的blackberry os。2011年第一季度,android在全球的市場(chǎng)份額首次超過塞班系統(tǒng),躍居全球第一。 2012年2月數(shù)據(jù),android占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng)52.5%的份額,中國市場(chǎng)占有率為68.4%。 2.1.2 android的發(fā)展過程以及優(yōu)勢(shì)2007年11月5日,google發(fā)布了基于linux平臺(tái)的開源移動(dòng)手機(jī)平臺(tái) -android。該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件等組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正的開放的移動(dòng)開發(fā)平臺(tái)。2008年9月22日,美國運(yùn)營(yíng)商t-mobile usa在紐約正式發(fā)布第一款google手機(jī) - t-mobile g1。該款手機(jī)為中國臺(tái)灣宏達(dá)電代工制造,是世界上第一部使用android操作系統(tǒng)的手機(jī),支持wcdma/hspa網(wǎng)絡(luò),理論下載速率為7.2mbit/s,并支持wi-fi無限局域網(wǎng)絡(luò)。google與開放手機(jī)聯(lián)盟(open handset alliance)合作開發(fā)了android移動(dòng)開發(fā)平臺(tái),這個(gè)聯(lián)盟由摩托羅拉、高通、宏達(dá)電和t-moblie、中國移動(dòng)等在內(nèi)的30多家移動(dòng)通訊領(lǐng)域的領(lǐng)軍企業(yè)組成。google與運(yùn)營(yíng)商、設(shè)備制造商、開發(fā)商和其他第三方結(jié)成了深層次的合作伙伴關(guān)系,希望通過建立標(biāo)準(zhǔn)化、開放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開放式的生態(tài)系統(tǒng)。android作為google企業(yè)戰(zhàn)略的重要組成部分,將進(jìn)一步推進(jìn)“隨時(shí)隨地為每個(gè)人提供信息”這一企業(yè)目標(biāo)的實(shí)現(xiàn)。全球?yàn)閿?shù)眾多的移動(dòng)電話用戶從未使用過任何基于android的移動(dòng)通訊設(shè)備,google的目標(biāo)是讓移動(dòng)通訊不依賴于設(shè)備甚至平臺(tái)。處于這個(gè)目的,android將補(bǔ)充而不會(huì)代替google長(zhǎng)期以來奉行的移動(dòng)發(fā)展戰(zhàn)略:通過與全球各地的手機(jī)制造商和移動(dòng)運(yùn)營(yíng)商結(jié)成合作伙伴,開發(fā)即有用又有吸引力的移動(dòng)服務(wù),并推廣這些產(chǎn)品。 android系統(tǒng)在國內(nèi)的發(fā)展主要在于針對(duì)android系統(tǒng)的二次開發(fā)上,目前以android系統(tǒng)源碼為基礎(chǔ),再深度定制改版而成的操作系統(tǒng)主要有創(chuàng)新工場(chǎng)投資的點(diǎn)心公司開發(fā)的點(diǎn)心操作系統(tǒng)、中國移動(dòng)的ophone、聯(lián)想的樂phone、阿里云手機(jī)操作系統(tǒng)及雷軍的小米科技開發(fā)的miui。2.1.3 android系統(tǒng)的特點(diǎn)安卓系統(tǒng)的最大特點(diǎn)在于“開源(open source)”它的源代碼是開放的,任何人都可以在此基礎(chǔ)上進(jìn)行操作、修改,自主地開發(fā)應(yīng)用程序;在優(yōu)勢(shì)方面,android平臺(tái)首先就是其開放性,開發(fā)的平臺(tái)允許任何移動(dòng)終端廠商加入到android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個(gè)嶄新的平臺(tái)也將很快走向成熟。 由于android的開放性,眾多的廠商會(huì)推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會(huì)影響到數(shù)據(jù)同步、甚至軟件的兼容。 android使用工具鏈(toolchain)為google自制的bionic libc。 android硬件抽像層是能以封閉源碼形式提供硬件驅(qū)動(dòng)模塊。 android的編程語言是運(yùn)行于 linux kernel之上,但并不是gnu/linux。因?yàn)樵谝话鉭nu/linux 里支持的功能,android 大都沒有支持,包括cairo、x11、alsa、ffmpeg、gtk、pango及glibc等都被移除掉了。android又以bionic 取代glibc、以skia 取代cairo、再以opencore 取代ffmpeg 等等。android 為了達(dá)到商業(yè)應(yīng)用,必須移除被gnu gpl授權(quán)證所約束的部份。這樣做是為了保留常數(shù)、數(shù)據(jù)結(jié)構(gòu)與宏。android的用戶界面更美觀、 更快更直觀的文字輸入、 一鍵文字選擇和復(fù)制/粘帖、 進(jìn)一步提升運(yùn)行速度 、提升多媒體能力、 增加官方進(jìn)程管理、 改善電源管、改進(jìn)的虛擬鍵盤。android平臺(tái)提供給第三方開發(fā)商一個(gè)十分寬泛、自由的環(huán)境。因此不會(huì)受到各種條條框框的阻撓,可想而知,會(huì)有多少新穎別致的軟件會(huì)誕生。 2.2 android的優(yōu)勢(shì)2.2.1 開放性在優(yōu)勢(shì)方面,android平臺(tái)首先就是其開發(fā)性,開發(fā)的平臺(tái)允許任何移動(dòng)終端廠商加入到android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個(gè)嶄新的平臺(tái)也將很快走向成熟。開發(fā)性對(duì)于android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費(fèi)者和廠商,而對(duì)于消費(fèi)者來講,隨大的受益正是豐富的軟件資源。開放的平臺(tái)也會(huì)帶來更大競(jìng)爭(zhēng),如此一來,消費(fèi)者將可以用更低的價(jià)位購得心儀的手機(jī)。2.2.2 掙脫運(yùn)營(yíng)商的束縛 在過去很長(zhǎng)的一段時(shí)間,特別是在歐美地區(qū),手機(jī)應(yīng)用往往受到運(yùn)營(yíng)商制約,使用什么功能接入什么網(wǎng)絡(luò),幾乎都受到運(yùn)營(yíng)商的控制。自從iphone上市,用戶可以更加方便地連接網(wǎng)絡(luò),運(yùn)營(yíng)商的制約減少。隨著edge、hsdpa這些2g至3g移動(dòng)網(wǎng)絡(luò)的逐步過渡和提升,手機(jī)隨意接入網(wǎng)絡(luò)已不是運(yùn)營(yíng)商口中的笑談,當(dāng)你可以通過手機(jī)im軟件方便地進(jìn)行即時(shí)聊天時(shí),再回想不久前天價(jià)的彩信和圖鈴下載業(yè)務(wù),是不是像噩夢(mèng)一樣?互聯(lián)網(wǎng)巨頭google推動(dòng)的android終端天生就有網(wǎng)絡(luò)特色,將讓用戶離互聯(lián)網(wǎng)更近。2.2.3 豐富的硬件選擇 這一點(diǎn)還是與android平臺(tái)的開放性相關(guān),由于android的開放性,眾多的廠商會(huì)推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會(huì)影響到數(shù)據(jù)同步、甚至軟件的兼容。好比你從諾基亞symbian風(fēng)格手機(jī)一下改用蘋果iphone,同時(shí)還可將symbian中優(yōu)秀的軟件帶到iphone上使用、聯(lián)系人等資料更是可以方便地轉(zhuǎn)移,是不是非常方便呢?2.2.4 不受任何限制的開發(fā)商 android平臺(tái)提供給第三方開發(fā)商一個(gè)十分寬泛、自由的環(huán)境。因此不會(huì)受到各種條條框框的阻擾,可想而知,會(huì)有多少新穎別致的軟件會(huì)誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如可控制正是留給android難題之一。2.2.5、無縫結(jié)合的google應(yīng)用如今叱詫互聯(lián)網(wǎng)的google已經(jīng)走過10年度歷史。從搜索巨人到全面的互聯(lián)網(wǎng)滲透,google服務(wù)如地圖、郵件、搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而android平臺(tái)手機(jī)將無縫結(jié)合這些優(yōu)秀的google服務(wù)。 2.3利用mysql來建立數(shù)據(jù)庫mysql是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典mysql ab公司。在2008年1月16號(hào)被sun公司收購。而2009年,sun又被oracle收購。mysql是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi)。這樣就增加了速度并提高了靈活性。mysql的sql“結(jié)構(gòu)化查詢語言”。sql是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。mysql軟件采用了gpl(gnu通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了mysql作為網(wǎng)站數(shù)據(jù)庫。2.4 client/server模式在網(wǎng)絡(luò)連接模式中,除對(duì)等網(wǎng)外,還有另一種形式的網(wǎng)絡(luò),即客戶機(jī)/服務(wù)器網(wǎng),client/server。在客戶機(jī)/服務(wù)器網(wǎng)絡(luò)中,服務(wù)器是網(wǎng)絡(luò)的核心,而客戶機(jī)是網(wǎng)絡(luò)的基礎(chǔ),客戶機(jī)依靠服務(wù)器獲得所需要的網(wǎng)絡(luò)資源,而服務(wù)器為客戶機(jī)提供網(wǎng)絡(luò)必須的資源。這里客戶和服務(wù)器都是指通信中所涉及的兩個(gè)應(yīng)用進(jìn)程(軟件)。使用計(jì)算機(jī)的人是計(jì)算機(jī)的“用戶”(user)而不是“客戶”(client)。但在許多國外文獻(xiàn)中,也經(jīng)常把運(yùn)行客戶程序的機(jī)器稱為client(這種情況下也可把client譯為“客戶機(jī)”),把運(yùn)行服務(wù)器程序的機(jī)器稱為server。所以有時(shí)要根據(jù)上下文判斷client與server是指軟件還是硬件。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到 client端和server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是client/server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的web應(yīng)用發(fā)展,web和client/server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。 2.5 jdbcjdbc(java data base connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行sql語句的java api,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用java語言編寫的類和接口組成。jdbc為工具/數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的api,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 java api 編寫數(shù)據(jù)庫應(yīng)用程序,同時(shí),jdbc也是個(gè)商標(biāo)名。有了jdbc,向各種關(guān)系數(shù)據(jù)發(fā)送sql語句就是一件很容易的事。換言之,有了jdbc api,就不必為訪問sybase數(shù)據(jù)庫專門寫一個(gè)程序,為訪問oracle數(shù)據(jù)庫又專門寫一個(gè)程序,或?yàn)樵L問informix數(shù)據(jù)庫又編寫另一個(gè)程序等等,程序員只需用jdbc api寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送sql調(diào)用。同時(shí),將java語言和jdbc結(jié)合起來使程序員不必為不同的平臺(tái)編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是java語言“編寫一次,處處運(yùn)行”的優(yōu)勢(shì)。java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。jdbc對(duì)java程序員而言是api,對(duì)實(shí)現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為api,jdbc為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。jdbc使用已有的sql標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如odbc之間的橋接。jdbc實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡(jiǎn)單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對(duì)話的方法。而 jdbc 正是作為此種用途的機(jī)制。jdbc 擴(kuò)展了 java 的功能。例如,用 java 和 jdbc api 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫。企業(yè)也可以用 jdbc 通過 intranet 將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計(jì)算機(jī)有 windows、 macintosh 和unix 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用java 編程語言,對(duì)從 java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。2.6 android的mvcmvc (model-view-controller):m是指邏輯模型,v是指視圖模型,c則是控制器。一個(gè)邏輯模型可以對(duì)于多種視圖模型,比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。一種視圖模型也可以對(duì)于多種邏輯模型。使用mvc的目的是將m和v的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式,而c存在的目的則是確保m和v的同步,一旦m改變,v應(yīng)該同步更新,這與設(shè)計(jì)模式中的觀察者模式是完全一樣。 mvc好處:從用戶的角度出發(fā),用戶可以根據(jù)自己的需求,選擇自己合適的瀏覽數(shù)據(jù)的方式。比如說,對(duì)于一篇在線文檔,用戶可以選擇以html網(wǎng)頁的方式閱讀,也可以選擇以pdf的方式閱讀。從開發(fā)者的角度,mvc把應(yīng)用程序的邏輯層與界面是完全分開的,最大的好處是:界面設(shè)計(jì)人員可以直接參與到界面開發(fā),程序員就可以把精力放在邏輯層上。而不是像以前那樣,設(shè)計(jì)人員把所有的材料交給開發(fā)人員,由開發(fā)人員來實(shí)現(xiàn)界面。在eclipes工具中開發(fā)android采用了更加簡(jiǎn)單的方法,設(shè)計(jì)人員在droiddraw中設(shè)計(jì)界面,以xml方式保存,在eclipes中直接打開就可以看到設(shè)計(jì)人員設(shè)計(jì)的界面。 android中界面部分也采用了當(dāng)前比較流行的mvc框架,在android中:1)視圖層(view):一般采用xml文件進(jìn)行界面的描述,使用的時(shí)候可以非常方便的引入。當(dāng)然,如何你對(duì)android了解的比較的多了話,就一定可以想到在android中也可以使用javascript+html等的方式作為view層,當(dāng)然這里需要進(jìn)行java和javascript之間的通信,幸運(yùn)的是,android提供了它們之間非常方便的通信實(shí)現(xiàn)。 2)控制層(controller):android的控制層的重任通常落在了眾多的acitvity的肩上,這句話也就暗含了不要在acitivity中寫代碼,要通過activity交割model業(yè)務(wù)邏輯層處理,這樣做的另外一個(gè)原因是android中的acitivity的響應(yīng)時(shí)間是5s,如果耗時(shí)的操作放在這里,程序就很容易被回收掉。3)模型層(model):對(duì)數(shù)據(jù)庫的操作、對(duì)網(wǎng)絡(luò)等的操作都應(yīng)該在model里面處理,當(dāng)然對(duì)業(yè)務(wù)計(jì)算等操作也是必須放在的該層的。就是應(yīng)用程序中二進(jìn)制的數(shù)據(jù)。 在android sdk中的數(shù)據(jù)綁定,也都是采用了與mvc框架類似的方法來顯示數(shù)據(jù)。在控制層上將數(shù)據(jù)按照視圖模型的要求(也就是android sdk中的adapter)封裝就可以直接在視圖模型上顯示了,從而實(shí)現(xiàn)了數(shù)據(jù)綁定。比如顯示cursor中所有數(shù)據(jù)的listactivity,其視圖層就是一個(gè)listview,將數(shù)據(jù)封裝為listadapter,并傳遞給listview,數(shù)據(jù)就在listview中現(xiàn)實(shí)。2.7 本章小節(jié)本章首先總體介紹了設(shè)計(jì)涉及的關(guān)鍵核技術(shù):android技術(shù)、選擇系統(tǒng)的開發(fā)模式、c/s模式、dao對(duì)象模型、系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)、建立數(shù)據(jù)庫,使用mysql來建立。然后分別對(duì)各部分的關(guān)鍵部分進(jìn)行介紹。第3章需求分析目前隨著科技的進(jìn)一步發(fā)展,手工點(diǎn)菜已經(jīng)越來越不能滿足人們的需求了,而android系統(tǒng)的出現(xiàn)則進(jìn)一步改善了這個(gè)局面,而android電子點(diǎn)菜系統(tǒng)則是android技術(shù)的其中的一個(gè)代表,讓我們看到了科技所帶來的影響,以及科技的重要性。3.1系統(tǒng)需要解決的主要問題因?yàn)辄c(diǎn)菜是面向特定的使用者的,因此需要對(duì)于用戶的身份進(jìn)行判斷,本系統(tǒng)分為兩個(gè)部分,一個(gè)是管理員:負(fù)責(zé)對(duì)添加修改刪除服務(wù)員,以及添加菜單等等;而服務(wù)員則是提供給客戶服務(wù)的,有開桌、點(diǎn)菜、下單、轉(zhuǎn)臺(tái)、換臺(tái)、更新、查臺(tái)、注銷等。3.2 系統(tǒng)應(yīng)具備的基本功能(1) 服務(wù)員登錄:用戶通過賬號(hào)和密碼及驗(yàn)證碼進(jìn)行登錄。(2) 服務(wù)員信息的管理:管理員可以增刪用戶(3) 服務(wù)員可以按照顧客的要求進(jìn)行開桌、點(diǎn)菜、下單、轉(zhuǎn)臺(tái)、換臺(tái)、更新、查臺(tái)等功能(4)菜單的增加:管理員可以添加刪除修改菜單。 3.3 系統(tǒng)性能需求 本系統(tǒng)性能需達(dá)到的要求: (1) 可靠性。 系統(tǒng)要有嚴(yán)格的判錯(cuò)能力,在登錄時(shí)要嚴(yán)格進(jìn)行身份驗(yàn)證,各個(gè)模塊的權(quán)限管理要恰當(dāng),對(duì)不需要修改的信息要在內(nèi)部預(yù)先控制。 (2) 安全性 只有管理員才能對(duì)服務(wù)員信息進(jìn)行修改,保證數(shù)據(jù)庫的安全,以及添加菜單。(3) 易操作性。本系統(tǒng)設(shè)置了易用的操作界面,使用戶看到界面很快即能理解其意思,方便用戶的操作。3.4 本章小結(jié)本章主要對(duì)系統(tǒng)從功能及性能及系統(tǒng)主要解決的問題進(jìn)行了簡(jiǎn)單的分析介紹。為下步設(shè)計(jì)論述打下基礎(chǔ)。第4章 項(xiàng)目總覽4.1 總體設(shè)計(jì)該系統(tǒng)主要包括下面幾個(gè)部分:服務(wù)員:1.登錄系統(tǒng)2.查臺(tái)3.服務(wù)器上的數(shù)據(jù)庫和本地?cái)?shù)據(jù)庫的實(shí)時(shí)更新4.開桌5.換臺(tái)6.轉(zhuǎn)臺(tái)7.并臺(tái)8.結(jié)臺(tái)9.注銷;管理員:1.添加服務(wù)員2.添加菜單,如圖4.1電子點(diǎn)菜系統(tǒng) 服務(wù)員管理員帳號(hào)管理退出菜單管理注銷結(jié)臺(tái)查臺(tái)更新設(shè)置轉(zhuǎn)臺(tái)并臺(tái)點(diǎn)菜圖4.1 總體設(shè)計(jì)4.2 系統(tǒng)流程圖如圖4.2用戶登錄網(wǎng)絡(luò)連接否是各功能模塊退出圖4.2 系統(tǒng)流程圖4.3系統(tǒng)功能如圖4-3電子點(diǎn)菜系統(tǒng)管理員服務(wù)員菜單管理退出帳號(hào)管理注銷結(jié)臺(tái)查臺(tái)更新設(shè)置轉(zhuǎn)臺(tái)并臺(tái)點(diǎn)菜修改刪除增加修改刪除增加查詢結(jié)賬點(diǎn)菜開桌菜譜管理餐桌管理圖4-3 系統(tǒng)功能圖4.4數(shù)據(jù)庫設(shè)計(jì)該系統(tǒng)的主要實(shí)現(xiàn)客戶端與服務(wù)端的交互,所以數(shù)據(jù)庫起著很重要的作用在本程序中。數(shù)據(jù)庫設(shè)計(jì)的好壞直接決定了該系統(tǒng)設(shè)計(jì)成功與否。本系統(tǒng)采用mysql作為后臺(tái)數(shù)據(jù)庫,客戶端采用sqlite數(shù)據(jù)庫。mysql是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),主要實(shí)習(xí)一些小型數(shù)據(jù)庫的設(shè)計(jì)。4.4.1數(shù)據(jù)庫需求分析通過系統(tǒng)功能分析,數(shù)據(jù)庫設(shè)計(jì)如下:用戶信息表如圖4.4.1-1:包含用戶id,用戶賬戶,密碼,姓名,性別。 圖4.4.1-1 用戶信息表設(shè)計(jì)菜譜表如圖4.4.1-2:包含菜的id,菜名,價(jià)格,菜的圖片路徑,菜單描述。 圖4.4.1-2 菜譜表設(shè)計(jì)餐桌表如圖4-4-1-3:包含桌子id,桌子編號(hào),桌子狀態(tài),餐桌的信息描述。 圖4.4.1-3 餐桌表設(shè)計(jì)訂單表如圖4.4.1-4:包含訂單號(hào),下單時(shí)間,用戶id,桌子編號(hào),就餐人數(shù),是否支付。 圖4.4.1-4 訂單表設(shè)計(jì)訂單詳細(xì)表如圖4.4.1-5:包含訂單號(hào),菜譜id,數(shù)量和顧客的要求。 圖4.4.1-5 訂單詳細(xì)表設(shè)計(jì)4.4.2數(shù)據(jù)庫表格設(shè)計(jì)e-r圖的設(shè)計(jì)是為了把給用戶的數(shù)據(jù)要求清楚,準(zhǔn)確的描述出來,通常建立一個(gè)概念性的數(shù)據(jù)模型。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)對(duì)數(shù)據(jù)建立的模型,它描述了從用戶的角度看到的數(shù)據(jù),它反映了用戶的實(shí)現(xiàn)環(huán)境。在數(shù)據(jù)模型中包含3中相互關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象,數(shù)據(jù)對(duì)象的屬性及數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系。該數(shù)據(jù)庫的設(shè)計(jì)包含四張表格,對(duì)應(yīng)了e-r圖,其具體的設(shè)計(jì)如下:用戶信息賬號(hào)密碼客戶姓名性別 圖4.4.2-1用戶名信息e-r圖餐桌信息餐桌id餐桌編號(hào)餐桌狀態(tài)餐桌描述 圖4.4.2-2 餐桌信息e-r圖菜譜表菜的類型菜名價(jià)格菜圖片路徑菜的介紹 圖4.4.2-3 菜譜信息e-r圖訂單表訂單號(hào)下單時(shí)間用戶id餐桌編號(hào)就餐人數(shù)是否支付 圖4.2.2-4 訂單表信息e-r圖訂單詳細(xì)表訂單id菜譜id菜的個(gè)數(shù)對(duì)菜的備注圖4.2.2-5 訂單詳細(xì)表信息e-r圖4.4 本章小結(jié)本章主要對(duì)項(xiàng)目進(jìn)行大概的介紹,使讀都對(duì)系統(tǒng)有個(gè)大概框架的認(rèn)識(shí)。然后對(duì)主要數(shù)據(jù)庫表進(jìn)行展示,明白本系統(tǒng)用涉及的數(shù)據(jù)表及其結(jié)構(gòu)。第5章 系統(tǒng)詳細(xì)設(shè)計(jì)5.1 系統(tǒng)登陸模塊設(shè)計(jì)與實(shí)現(xiàn) 在項(xiàng)目開發(fā)中以類的形式來組織,封裝一些常用的方法和事件,不僅可以提高代碼的重用率,也大方便了代碼的管理。本系統(tǒng)中創(chuàng)建了一個(gè)公共類httputil.java.主要用來客戶端和服務(wù)端進(jìn)行交互。5.1.1 loginactivity 首先進(jìn)入歡迎界面 logoactivity,畫面運(yùn)行兩秒之后會(huì)進(jìn)入登陸界面,在這個(gè)過程中歡迎界面的alpha值由0.0-1.0轉(zhuǎn)變,用到了android里面的補(bǔ)間動(dòng)畫,設(shè)置了它的持續(xù)時(shí)間為2s,這個(gè)里面用到了alphaanimation,這個(gè)類可以控制alpha的透明度的改變,setduration()可以設(shè)置動(dòng)畫的持續(xù)時(shí)間,startanimation()可以啟動(dòng)動(dòng)畫,然后在給動(dòng)畫設(shè)計(jì)監(jiān)聽方法setanimationlistener(),當(dāng)該動(dòng)畫播放結(jié)束的時(shí)候會(huì)回調(diào)該方法。然后通過intent跳轉(zhuǎn)到loginactivity中,oncreate()方法用于初始化一些操作。由于該登陸過程是一個(gè)耗時(shí)性操作,因此需要啟動(dòng)一個(gè)線程,把這些耗時(shí)性操作放在里面進(jìn)行執(zhí)行,然后根據(jù)輸入的賬戶和密碼通過請(qǐng)求loginservlet.java服務(wù)器進(jìn)行判斷,首先輸入的賬號(hào)和密碼不能為空,如果為空的話,系統(tǒng)將彈出一個(gè)toast進(jìn)行提示不能為空,然后你可以重新輸入,輸入之后再通過賬號(hào)和密碼進(jìn)行查詢,login():就是對(duì)登陸進(jìn)行判斷:1.網(wǎng)絡(luò)超時(shí)2.登陸成功3.密碼錯(cuò)誤,當(dāng)你登陸成功的時(shí)候還要把用戶的信息以鍵值對(duì)的形式保存在sharepreference中,登陸的過程中還要根據(jù)permission進(jìn)行判斷,當(dāng)permission得值為1的時(shí)候?yàn)楣芾韱T,然后跳轉(zhuǎn)到管理員界面,為0的時(shí)候跳轉(zhuǎn)到服務(wù)員界面,這里采用handler,handler在android里負(fù)責(zé)發(fā)送和處理消息.它的主要用途有:(1) 按計(jì)劃發(fā)送消息或執(zhí)行某個(gè)runnable(使用post方法);(2) 從其他線程中發(fā)送來的消息放入消息隊(duì)列中,避免線程沖突,主要用于更新ui線程。默認(rèn)情況下,handler接受的是當(dāng)前線程下的消息循環(huán)實(shí)例,handler主要用來處理一些耗時(shí)的操作。5.1.2 客戶端登錄界面的設(shè)計(jì)為了提高系統(tǒng)的安全性,要想使用該系統(tǒng)必須進(jìn)行登陸,首先需要在reslayout目錄下,創(chuàng)建一個(gè)名為login.xml的文件,用于顯示界面,進(jìn)行界面布局,用到的空間有2個(gè)textview和2個(gè)button以及2個(gè)edittext,editext用于讓用戶輸入賬號(hào)和密碼,當(dāng)為空的時(shí)候彈出一個(gè)對(duì)話框提示賬號(hào)或密碼不能為空,輸入完整之后需要通過服務(wù)器查詢,登陸成功之后再進(jìn)行判斷,當(dāng)permission為1時(shí)為管理員登陸,跳轉(zhuǎn)到管理員界面,當(dāng)permission為0時(shí) 服務(wù)員登陸,跳轉(zhuǎn)到服務(wù)員界面登陸界面如圖5.1所示: 圖5.1 系統(tǒng)登錄界面5.2 點(diǎn)菜模塊的設(shè)計(jì)與實(shí)現(xiàn)用戶登陸之后,如果是服務(wù)員,則進(jìn)入主界面,如下圖5.2.1所示,然后點(diǎn)擊點(diǎn)菜按鈕,進(jìn)入點(diǎn)菜界面如圖5.2.2圖5.2.1 系統(tǒng)主菜單界面 圖5.2.2 點(diǎn)菜模塊5.2.1 客戶端開桌模塊的實(shí)現(xiàn)點(diǎn)擊點(diǎn)菜按鈕之后進(jìn)入點(diǎn)菜界面,它的過程分為開桌和點(diǎn)菜。開桌的過程要求操作員輸入桌號(hào)和人數(shù),該界面包含一個(gè)spinner,通過sqlite數(shù)據(jù)庫動(dòng)態(tài)加載桌號(hào),然后顯示在spinner中,開桌過程中要求操作員輸入桌號(hào)和人數(shù),將點(diǎn)餐時(shí)間、服務(wù)員編號(hào)、桌號(hào)和人數(shù)保存到服務(wù)器端的ordertbl表中。點(diǎn)餐時(shí)間去服務(wù)器當(dāng)前時(shí)間由程序自動(dòng)完成,操作員編號(hào)由登陸過程中保存咋sharedprefrences中的登陸用戶信息,桌號(hào)引用tabletbl表中的數(shù)據(jù),這里為了程序的運(yùn)行效率,在客戶端使用sqlite將服務(wù)器端數(shù)據(jù)保存下來,點(diǎn)餐過程所使用的桌號(hào)從客戶端數(shù)據(jù)庫去,程序提供了客戶端數(shù)據(jù)和服務(wù)端數(shù)據(jù)同步的功能,人數(shù)有服務(wù)員輸入,默認(rèn)值為1. diancaihome類用于開桌模塊的開發(fā),oncreate()用于初始化數(shù)據(jù),settableadapter()通過adapter對(duì)spinner里面的內(nèi)容進(jìn)行設(shè)置,查詢spinner里面的桌號(hào),該桌號(hào)是放在本地?cái)?shù)據(jù)庫中,通過contentprovider的uri進(jìn)行操作,updatesqlite()用于更新同步到手機(jī)數(shù)據(jù)庫,桌子開桌后狀態(tài)要設(shè)置為有人。開桌按鈕的監(jiān)聽:在該監(jiān)聽中把所以的信息進(jìn)行獲取,包括服務(wù)員的id,從登陸成功后保存在手機(jī)端的xml(sharedpreference)中讀取出來,使用httputil.querystringforpost(request)把封裝好的信息發(fā)送到服務(wù)器端后,根據(jù)傳過來的結(jié)果即為訂單號(hào)。5.2.2 客戶端點(diǎn)菜下單模塊的設(shè)計(jì)與實(shí)現(xiàn)開桌之后,點(diǎn)擊點(diǎn)菜按鈕,會(huì)出現(xiàn)一個(gè)listview,里面動(dòng)態(tài)的加載菜單的圖片已經(jīng)信息,并且里面有一個(gè)增加按鈕,點(diǎn)擊這個(gè)按鈕之后會(huì)彈出一個(gè)對(duì)話框,里面需要填寫顧客需要的份數(shù)以及顧客的需求點(diǎn)擊確定即可如圖5.2.2,當(dāng)沒有開桌的時(shí)候點(diǎn)擊點(diǎn)菜按鈕的時(shí)候會(huì)提示你沒有開桌。 圖5.2.2 點(diǎn)菜模塊 diancaiactivity類,該類中通過listview把本地?cái)?shù)據(jù)庫中的菜譜信息顯示在listview控件中,獲取本地?cái)?shù)據(jù)庫中的菜譜信息是通過contentprovider來實(shí)現(xiàn),它可以讓自己的數(shù)據(jù)達(dá)到共享,方便別的程序?qū)λ{(diào)用。asyncimageloader類用于listview菜單圖片的異步加載。下單的過程是將顧客點(diǎn)餐信息保存到后臺(tái)數(shù)據(jù)庫中,也是通過servlet進(jìn)行請(qǐng)求。5.3 查臺(tái)模塊設(shè)計(jì)與實(shí)現(xiàn)查臺(tái)的目的是根據(jù)當(dāng)前餐桌的狀態(tài)(有人或空位),來安排顧客就餐。程序的實(shí)現(xiàn)過程是:查詢數(shù)據(jù)庫餐桌表信息,根據(jù)查詢結(jié)果將餐桌狀態(tài)以圖形化的方式顯示出來,如圖5.3。 圖5.3 查臺(tái)模塊5.3.1 客戶端查臺(tái)模塊實(shí)現(xiàn)首先建立一個(gè)查臺(tái)的類chatai,該類主要用于實(shí)現(xiàn)查臺(tái)的一系列功能,然后建立一個(gè)chatai.xml文件進(jìn)行布局。gettablelist()用于獲得當(dāng)前餐桌信息列表,信息包括桌號(hào)和狀態(tài),tableadapter繼承自baseadapter類,作用是為gridview綁定數(shù)據(jù),該類的getview()方法返回的view類是自定義的一個(gè)linearlayout類。本模塊的難點(diǎn)在于給gridview添加數(shù)據(jù),也就是要繼承baseapapter類,實(shí)現(xiàn)里面的getview()方法,然后再用layoutinflater,也就是布局泵顯示gridview上面的內(nèi)容,也就是imageview和textview,imageview也就是當(dāng)flag=0的時(shí)候顯示空桌那張圖片,flag=1的時(shí)候切換到另一張圖片即顯示有人的那張圖片。5.4 并臺(tái)模塊的設(shè)計(jì)與實(shí)現(xiàn)并臺(tái)模塊實(shí)現(xiàn)的是:當(dāng)兩桌顧客下單之后,在就餐過程中提出一起就餐,這一過程需要將保存在數(shù)據(jù)庫中的數(shù)據(jù)做統(tǒng)一更新。內(nèi)容有:刪除被合并桌位的訂單、將被合并桌位客人數(shù)加到合并桌位、更新訂單詳細(xì)列表信息、更新桌位狀態(tài)等,如圖5.4: 圖5.4 并臺(tái)模塊5.4.1 客戶端并臺(tái)模塊的設(shè)計(jì)與實(shí)現(xiàn) 并臺(tái)是通過彈出對(duì)話框的方式來提示服務(wù)員的,所以需要在對(duì)話框中添加自定義視圖,提示用戶選擇要更換的桌位。 uniontable()定義了一個(gè)對(duì)話框提示用戶選擇合并桌號(hào),在對(duì)話框中添加了自定義的視圖,使用layoutinflater(布局泵)進(jìn)行自定義視圖,訪問服務(wù)器獲得桌位信息并綁定到spinner,然后在確定方法中提交合并請(qǐng)求。5.5 轉(zhuǎn)臺(tái)模塊的設(shè)計(jì)與實(shí)現(xiàn)轉(zhuǎn)臺(tái)模塊要做的是顧客開桌或下單后要求更換桌位的過程,如圖5.5。 圖5.5 轉(zhuǎn)臺(tái)模塊5.5.1 客戶端轉(zhuǎn)臺(tái)模塊的設(shè)計(jì)與實(shí)現(xiàn) 轉(zhuǎn)臺(tái)模塊主要根據(jù)訂單編號(hào)進(jìn)行換桌,更換的桌號(hào)必須是空位才能更換,然后更新保存在數(shù)據(jù)庫中的數(shù)據(jù),主要是ordertbl表中該訂單對(duì)應(yīng)的桌號(hào)以及更換桌位的轉(zhuǎn)臺(tái),該界面也是用彈出對(duì)話框的方式進(jìn)行顯示,采用自定義布局。spinner里面的桌號(hào)也是實(shí)時(shí)更新的,只有當(dāng)桌號(hào)是空的時(shí)候才顯示在spinner里面。5.6 更新模塊的設(shè)計(jì)與實(shí)現(xiàn)更新模塊主要包括兩個(gè)內(nèi)容一個(gè)是更新菜譜表和更新餐桌表,點(diǎn)擊更新之后進(jìn)入更新模塊,該視圖包含一個(gè)listview,如圖5.6。 圖5.6 更新模塊5.6.1 客戶端更新模塊的設(shè)計(jì)與實(shí)現(xiàn) 更新模塊主要是為了提高程序的運(yùn)行效率,然后將一些頻繁使用的數(shù)據(jù)庫表保存到客戶端sqlite數(shù)據(jù)庫中,當(dāng)服務(wù)器數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),將數(shù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論