




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