基于Android的網(wǎng)上訂餐系統(tǒng)_第1頁
基于Android的網(wǎng)上訂餐系統(tǒng)_第2頁
基于Android的網(wǎng)上訂餐系統(tǒng)_第3頁
基于Android的網(wǎng)上訂餐系統(tǒng)_第4頁
基于Android的網(wǎng)上訂餐系統(tǒng)_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、eurasiaUNivERsny西安歐亞學(xué)院信息工程學(xué)院專業(yè)綜合課程設(shè)計報告項目題目:基于安卓的網(wǎng)上訂餐系統(tǒng)專業(yè)班級:統(tǒng)本電信1301班姓名學(xué)號:馬麗13610706150192指導(dǎo)教師:趙宏宇李有強完成時間:2016年12月30日設(shè)計報告成績評定表:評分內(nèi)容成績系統(tǒng)方案思路合理性(10%)才跆內(nèi)容的完整性(10%)硬件原理圖及說明(20%)程序流程圖(20%)程序清單(10%)調(diào)試及結(jié)果分析(10%)系統(tǒng)改進建議或者方案(10%)格式規(guī)范(10%)總分備注:以上總分為該組的平均分,根據(jù)成員分工具體分?jǐn)?shù)如下。小組成員分工分?jǐn)?shù)馬麗軟件調(diào)試隨著科技的發(fā)展,二十一世紀(jì)成為了以網(wǎng)絡(luò)化,信息化為核心的社

2、會。網(wǎng)絡(luò)商業(yè)化也成為了時下最熱門的詞匯。隨著信息技術(shù)的不斷更新,特別是07年谷歌公司推出了Android開放源碼,讓Android操作系統(tǒng)成為了移動平臺的寵兒,本系統(tǒng)主要分析了中小型餐飲店管理與發(fā)展的現(xiàn)狀所面臨的問題,發(fā)現(xiàn)傳統(tǒng)的服務(wù)模式已經(jīng)不能適應(yīng)市場發(fā)展的需求,方便、快捷、個性化的網(wǎng)上訂餐服務(wù)正在進入人們的生活。針對這類問題,結(jié)合當(dāng)代科技發(fā)展的新成果,本文構(gòu)思規(guī)劃了一套最貼切的服務(wù)模式,為中小型餐飲店外送服務(wù)提供了一套系統(tǒng)。本設(shè)計是一個基于Android手機的網(wǎng)上訂餐系統(tǒng),采用C/S模式,能為客戶提供網(wǎng)上選擇瀏覽菜品介紹,點菜訂餐服務(wù),并為管理員提供一個服務(wù)平臺實現(xiàn)用戶信息與顧客訂單的管理,

3、從而提高了服務(wù)的質(zhì)量,本文從系統(tǒng)需求、系統(tǒng)實際、代碼實現(xiàn)幾個方面介紹了整個軟件的開發(fā)過程,這個系統(tǒng)采用JAVA、SQLServer數(shù)據(jù)庫,并利用MyEclipse、TOMCAT、AndroidSDK、ADT、AVD、DDMS等開發(fā)環(huán)境或者開發(fā)工具。關(guān)鍵詞:Android;Java;MyEclipse;SQLite;SQLServer2005ABSTRACTWiththedevelopmentofscienceandtechnology,the21stcenturyhasbecomeasocietycentredoninformationandnetwork.Hencecommercializa

4、tionofnetworkhasbecomeoneofthehottesttopicsinrecentyears.Androidoperatingsystemisgraduallygoingtobethedarlingofthemobileplatform,whichresultsfromtheconstantlyupdatingofinformationtechnology,especiallytheappearanceofAndroidopensourcecarriedoutbyGooglecompanyin2007.Thesystemmentionedinthisarticlemainl

5、yfocusontheproblemsfacedbythemiddleandsmallreataurantsintheirmanagementanddevelopment,andfindsthatthetraditionalservicemodecannotadapttotheneedsofthedevelopmentofthemarketanymore.Amoreconvenient,quicker,andpersonalizedserviceenterspeople"sife-onlinereservations.Inviewoftheexistingproblemsandcom

6、biningthelatestachievementsofthedevelopmentofmoderntechnology,Ihaveconceivedasetofthemostappropriatepatternofdiliveryservicefortherestaurantindustry.ThisdesignisaonlinereservationssystembasedontheAndroidmobilephones,whichadoptsC/Smode.Itcanprovideservicesforclientstochoosedishesintroductionfreely,an

7、dtoordermealactively.Besides,itcanalsoofferaserviceplatformformanagertoregulatetheuserinformationsandcustomerorders,soastoimprovethequalityoftheirservices.Inthisarticle,I'dliketointroducethewholedevelopmentprocessofthissoftwareindetailsfromthesystemrequirements,systemrealization,codeimplementati

8、onandsomeotheraspects.ThissystemusesJAA,SQLServerdatabase,inaddition,MyEclipseTOMCAT、AndroidSDK、ADT、AVD、DDMSandotherdevelopmentenvironmentsordevelopmenttoolsarealsousedinit.Keywords:Android;Java;MyEclipse;SQLite;SQLServer2005目錄第一章引言11.1 項目背景11.2 項目目的11.3 主要內(nèi)容2第二章系統(tǒng)理論與技術(shù)32.1 Android32.1.1 Android簡介32

9、.1.2 AndroidFeatures特性32.1.3 Android基本框架(AndroidArchitecture)42.1.4 Android系統(tǒng)的四大組件42.2 Java52.3 SQLServer2005和SQLite數(shù)據(jù)庫52.4 C/S模式6第三章系統(tǒng)分析與設(shè)計83.1 功能需求83.2 模塊結(jié)構(gòu)與流程93.2.1 客戶端93.2.2 服務(wù)端103.3 數(shù)據(jù)庫設(shè)計113.3.1 數(shù)據(jù)庫表及其結(jié)構(gòu)113.3.2 數(shù)據(jù)123.3.3 客戶端數(shù)據(jù)庫的連接133.3.4 服務(wù)器數(shù)據(jù)庫的連接143.4 系統(tǒng)結(jié)構(gòu)153.4.1 部署圖153.4.2 類圖153.5 執(zhí)行概念16第四章系統(tǒng)

10、實現(xiàn)184.1 Android環(huán)境搭建184.2 客戶端194.2.1 系統(tǒng)登錄194.2.2 系統(tǒng)注冊214.2.3 瀏覽菜品234.2.4 搜索菜品254.2.5 訂餐264.2.6 結(jié)賬284.3 服務(wù)端294.3.1 系統(tǒng)登錄294.3.2 訂單管理304.3.3 菜品管理324.3.4 會員管理35第五章結(jié)束語37參考文獻38致詞139第一章引言1.1 項目背景伴隨著我國市場經(jīng)濟的高度發(fā)展,企業(yè)越來越依賴于市場和客戶,這種依賴關(guān)系已經(jīng)開始逐步提升到關(guān)乎企業(yè)生存的高度。如何獲得更多客流量,如何通過小的代價而使商家獲得更大的知名度,這是使企業(yè)得以生存、發(fā)展、壯大的關(guān)鍵。年銷售過億的眾多電

11、子商務(wù)案例讓人們看到了更多的商機。與應(yīng)用場景相當(dāng)有限的PC(個人電腦)相比,生而具備便攜屬性的手機給了電商們更大的想象空間。移動電子商務(wù)由此產(chǎn)生了。移動電子商務(wù)就是利用手機、PDA及掌上電腦等無線終端進行的B2B、B2C或C2C的電子商務(wù)。它將因特網(wǎng)、移動通信技術(shù)、短距離通信技術(shù)及其它信息處理技術(shù)完美的結(jié)合,使人們可以在任何時間、任何地點進行各種商貿(mào)活動,實現(xiàn)隨時隨地、線上線下的購物與交易、在線電子支付以及各種交易活動、商務(wù)活動、金融活動和相關(guān)的綜合服務(wù)活動等。而Android操作系統(tǒng)憑借著自己開放的平臺允許任何移動終端廠商加入到Android聯(lián)盟中,從而使得越來越多的用戶傾向于選擇操作系統(tǒng)為

12、Android的手機品牌。選擇設(shè)計基于Android平臺的軟件,毫無疑問能覆蓋更多的群眾,餐飲業(yè)在電子商務(wù)中還處于形成的初期,傳統(tǒng)的餐飲業(yè)中,大都是以實際門面形式來進行宣傳和交流。作為網(wǎng)絡(luò)普及化的社會,這還缺少了一些更為現(xiàn)代化的元素。餐飲業(yè)是一個個性化、多樣化的服務(wù)業(yè),而電子商務(wù)則最能體現(xiàn)個性化、多樣化服務(wù)的方式。而且現(xiàn)在大部分電子商務(wù)都體現(xiàn)為向大企業(yè)服務(wù),結(jié)合餐飲這個行業(yè)的特點,最終還發(fā)展為同小區(qū)小店服務(wù)的模式。以最貼切的方式,最靈便的服務(wù)進入個個網(wǎng)絡(luò)社區(qū),進入人們的生活。1.2 項目目的如今宅男宅女日益增加,很多餐飲店都提供外賣服務(wù),傳統(tǒng)的外賣服務(wù)需要客戶給商家打電話并報出地址,商家那邊也

13、需要記錄下客戶的信息,才能將外賣準(zhǔn)確的送達,但在這之間都是人在操作,難免會出現(xiàn)偏差和遺漏為客戶或者商家?guī)頁p失。如今3G網(wǎng)絡(luò)覆蓋范圍越來越廣,Android手機也占領(lǐng)了手機行業(yè)的大頭,那么我們可以考慮做一個Android的應(yīng)用來方便商家和客戶,讓出錯率達到最低。用戶要點餐的時候只需手機上網(wǎng)點一下菜單就能吃到自己喜歡吃的菜品,這里面蘊含了很大的商機,完全能夠有效的提高商家的營業(yè)額,基于以上因素,所以提出了這樣一個基于Android的網(wǎng)上訂餐系統(tǒng)。本項目的目的是開發(fā)一個可以讓用戶在手機上操作的客戶端,然后與服務(wù)器連接進行數(shù)據(jù)交互,來實現(xiàn)網(wǎng)上訂餐的流程??蛻舳诵枰獙崿F(xiàn)瀏覽菜品,點菜,下訂單,搜索等功

14、能。服務(wù)器端需實現(xiàn)添加、刪除、修改菜品、對訂單的處理,以及對會員的管理等功能。本項目是一款基于Android手機平臺的訂餐系統(tǒng),使擁有Android手機的用戶生活更加方便快捷,使得手機顯得更生動靈活化,與人們更為接近,讓手機主人隨時隨地都能吃到自己喜歡的菜品。使人們的生活更加多樣化。也使設(shè)計者更加熟練Android的技術(shù)和其他在市場上的特點。1.3 主要內(nèi)容通過對實際情況的調(diào)研,本系統(tǒng)大致可分為三個部分,即手機客戶端、電腦服務(wù)器端和圖形化界面工具。系統(tǒng)采用HTTP協(xié)議來進行數(shù)據(jù)傳輸。采用C/S結(jié)構(gòu),客戶端為基于Android操作系統(tǒng)平臺的智能手機,主要的業(yè)務(wù)邏輯則服務(wù)器端來實現(xiàn),數(shù)據(jù)存儲在數(shù)據(jù)

15、庫服務(wù)器??蛻舳酥饕獙崿F(xiàn)位置服務(wù),商品展示,會員注冊及登錄,購物車,商品搜索和個人信息等功能,服務(wù)器端主要是完成數(shù)據(jù)交互和數(shù)據(jù)邏輯處理,而圖形界面化工具則是負責(zé)商品、訂單等的增刪改查。為了一步步實現(xiàn)確定的功能,本論文主要內(nèi)容安排如下:第一章:引言(介紹課題研究的背景和目的)第二章:系統(tǒng)理論與技術(shù)(在本項目中設(shè)計到的技術(shù)簡介)第三章:系統(tǒng)分析與設(shè)計(需求分析,數(shù)據(jù)庫的分析與設(shè)計以及系統(tǒng)結(jié)構(gòu)的設(shè)計)第四章:系統(tǒng)實現(xiàn)(根據(jù)需求分析來實現(xiàn)系統(tǒng)的各個模塊功能,使客戶端與服務(wù)器,服務(wù)器與數(shù)據(jù)庫能正常數(shù)據(jù)交互。這部分主要搭建開發(fā)環(huán)境,編寫代碼,測試,運行)第五章:結(jié)束語(對本項目做一個項目總結(jié))第二章系統(tǒng)理

16、論與技術(shù)2.1Android1.1.1 Android簡介Android一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。Android是基于Linux內(nèi)核的軟件平臺和操作系統(tǒng),早期由Google開發(fā)(在華注冊商標(biāo)名為“安致”),后由開放手機聯(lián)盟(OpenHandsetAlliance開發(fā)。它采用了軟件堆層(softwarestack,又名以軟件疊層)的架構(gòu),主要分為三部分。低層以Linux內(nèi)核工作為基礎(chǔ),只提供基本功能;其他的

17、應(yīng)用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分。另外,為了推廣此技術(shù),Google和其它幾十個手機公司建立了開放手機聯(lián)盟。Android在未公開之前常被傳聞為Google電話或gPhone大多傳聞?wù)J為Google開發(fā)的是自己的手機電話產(chǎn)品,而不是一套軟件平臺。到了2010年1月,Google開始發(fā)表自家品牌手機電話的NexusOne,目前最新SDK版本為Android4.0.3。1.1.2 AndroidFeatures特性Android系統(tǒng)有如下的幾大特性1: 應(yīng)用程序框架支持組件的重用與替換 Dalvik虛擬機專門為移動設(shè)備做了優(yōu)化 內(nèi)部集成瀏覽器該瀏覽器基于開源的WebKit

18、引擎 優(yōu)化的圖形庫包括2D和3D圖形庫,3D圖形庫基于OpenGLES SQLite用作結(jié)構(gòu)化的數(shù)據(jù)存儲 多媒體支持包括常見的音頻、視頻和靜態(tài)印象文件格式(如MPEG4,MP3,AAC,AMR,JPG,PNG) GSM電話(依賴于硬件) 藍牙Bluetooth,EDGE,3GandWiFi(依賴于硬件) 照相機,GPS,指南針,和加速度計(依賴于硬件) 豐富的開發(fā)環(huán)境包括設(shè)備模擬器,調(diào)試工具,內(nèi)存及性能分析圖表,和Eclipse集成開發(fā)環(huán)境插件1.1.3 Android基本框架(AndroidArchitecture)ApplicationsHomeActivityMarugerContict

19、sPhoneBrowserApplicatecinFrameworkWiiftddwCont£fi<Vi&wResourceLocad的Not甫MmigerWinagBFManagerMAnagtr'Providen.SjntcmLibrariesMin鳴urMediaFramcworicOPehGLESFnsElypcSGLSSLPatkajjEManagerRlephsyManagerLinuxKernelDisplayDriverCameraDriverFlashMEimaryDnwrBinder(IPC)DrirwerKeypadDriverW舊Dn*t

20、rAudioDrwersPowerMirHjement圖2.1AndroidArchitecture1.1.4 Android系統(tǒng)的四大組件在Android系統(tǒng)中,為我們提供了四大基本組件,每個組件是一個視圖,但是有些是可見的,有些是不可見的視圖,像Activity,ContentProvider是可見的視圖,Service和BroadcastReceiver是不可見的,它們只在系統(tǒng)的后臺運行。下面分別介紹四大組件網(wǎng):(1) Activity簡介在Android系統(tǒng)中Activity提供可視化的用戶界面,一個Android應(yīng)用通常由多個Activity組成。多個Activity組成了Activ

21、ity棧(Stack),當(dāng)前活動的Activity處于棧頂。Activity有自己的生命周期,由Android系統(tǒng)來控制。(2) Service簡介顧名思義Service就是運行在后臺的一種服務(wù)程序,一般很少和用戶交互,因此沒有可視化界面定義一個Service類比較簡單,只要繼承Service類,實現(xiàn)其生命周期中的方法就可以了。一個定義好的Service必須在AndroidManifest.xml配置文件注冊,通過<service>元素聲明才能使用.Service有自己的生命周期,我們可以調(diào)用startService()啟動一個Service或者bindService()方法來綁定

22、一個存在的Service(3) BroadcastReceiver簡介BroadcastReceiver顧名思義廣播接收器,它和事件處理機制類似,只不過事件處理機制是程序組件級別的(例如,某個按鈕的單擊事件),而廣播事件處理機制是系統(tǒng)級別的。到目前為止我們可以使用Intent來啟動一個程序組件,我們還可以通過使用sendBroadcast(方法來發(fā)起一個系統(tǒng)級別的事件廣播來傳遞消息。我們可以在你的應(yīng)用程序中實現(xiàn)BroadcastReceiver來監(jiān)聽和響應(yīng)這些廣播的Intent(4) ContentProvider簡介ContentProvider用來保存和檢索數(shù)據(jù),并且使應(yīng)用程序之間相互訪問

23、數(shù)據(jù)成為可能。它是跨應(yīng)用程序共享數(shù)據(jù)的唯一方法。Android為常用的數(shù)據(jù)類型(如:音視頻、圖片和聯(lián)系方式等)提供了大量的ContentProvider。它們被定義在vider包下面。通過這樣定義好的ContentProvider我們可以方便的進行數(shù)據(jù)操作。當(dāng)然我們必須擁有適當(dāng)?shù)臋?quán)限。我們也可以自己來定ContentProvider共享我們的數(shù)據(jù),方便用戶的訪問。2.2 JavaJava是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,是由SunMicrosystems公司于1995年5月推出的Java程序設(shè)計語言和Java平臺(即JavaSE,JavaEE,Java

24、ME的總稱。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)。雖然大多數(shù)用戶很樂于將Eclipse當(dāng)作Java集成開發(fā)環(huán)境(IDE)來使用,但Eclipse

25、的目標(biāo)卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個組件主要針對希望擴展Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于Java開發(fā)工具。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C+和COBOL等編程語言的插件已經(jīng)可用,或預(yù)計將會推出。Eclipse框架還

26、可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。基于Eclipse的應(yīng)用程序的一個突出例子是舊MRationalSoftwareArchitect,它構(gòu)成了舊MJava開發(fā)工具系列的基礎(chǔ)7。2.3 SQLServer2005和SQLite數(shù)據(jù)庫SQLServer是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由MicrosoftSybase和Ashton-Tate三家公司共同開發(fā)的,于1988年推出了第一個OS/2版本。在WindowsNT推出后,Microsoft與Sybase在SQLServer的開發(fā)上就分道揚鑲了,Microsoft將SQLServer移植到WindowsNT系統(tǒng)上

27、,專注于開發(fā)推廣SQLServer的WindowsNT版本。Sybase則較專注于SQLServer在UNIX操作系統(tǒng)上的應(yīng)SQLServer安裝界面用。SQLite,是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度

28、比他們都快。SQLite第一個Alpha版本誕生于2000年5月.至今已經(jīng)有10個年頭,SQLite也迎來了一個版本SQLite3已經(jīng)發(fā)布。2.4 C/S模式在網(wǎng)絡(luò)連接模式中,除對等網(wǎng)外,還有另一種形式的網(wǎng)絡(luò),即客戶機/服務(wù)器網(wǎng),Client/Servero在客戶機/服務(wù)器網(wǎng)絡(luò)中,服務(wù)器是網(wǎng)絡(luò)的核心,而客戶機是網(wǎng)絡(luò)的基礎(chǔ),客戶機依靠服務(wù)器獲得所需要的網(wǎng)絡(luò)資源,而服務(wù)器為客戶機提供網(wǎng)絡(luò)必須的資源。這里客戶和服務(wù)器都是指通信中所涉及的兩個應(yīng)用進程(軟件)。使用計算機的人是計算機的“用戶”(use。而不是“客戶”(client)。但在許多國外文獻中,也經(jīng)常把運行客戶程序的機器稱為client(這種情

29、況下也可把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)。

30、這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。C/S架構(gòu)軟件的優(yōu)勢和劣勢9:應(yīng)用服務(wù)器運行數(shù)據(jù)負荷較輕。最簡單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與后臺程序。運行數(shù)據(jù)庫服務(wù)器程序的機器,也稱為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客戶程序發(fā)來的請求;客戶應(yīng)用程序運行在用戶自己的電腦上,對應(yīng)于數(shù)據(jù)庫服務(wù)器,可稱為客戶電腦,當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運行數(shù)據(jù)負荷較輕。數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能

31、,是由服務(wù)器程序和客戶應(yīng)用程序分別獨立進行的,前臺應(yīng)用可以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運行數(shù)據(jù),在服務(wù)器程序中不集中實現(xiàn),例如訪問者的權(quán)限,編號可以重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非?!笆菪 保郝闊┑氖虑槎冀唤o了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。C/S架構(gòu)的劣勢是高昂的維護成本且投資大。首先,采用C/S架構(gòu),要選擇適當(dāng)?shù)臄?shù)據(jù)庫平臺來實現(xiàn)數(shù)據(jù)庫

32、數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實現(xiàn),有這樣一些問題,如果需要建立“實時”的數(shù)據(jù)同步,就必須在兩地間建立實時的通訊連接,保持兩地的數(shù)據(jù)庫服務(wù)器在線運行,網(wǎng)絡(luò)管理工作人員既要對服務(wù)器維護管理,又要對客戶端維護和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護成本很高,維護任務(wù)量大。(4)傳統(tǒng)的C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,由于產(chǎn)品的更新?lián)Q代十分快,代價高和低效率已經(jīng)不適應(yīng)工作需要。在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構(gòu)更是猛烈沖擊C/S,并對其形成威脅和挑戰(zhàn)。第三章系統(tǒng)分析與

33、設(shè)計3.1功能需求隨著3G時代的到來,手機應(yīng)用越來越普遍,加之國民手機持有量更是爆炸式增長。為了方便Android手機用戶能隨時隨地點到自己喜歡的菜品,提出一種操作簡便,功能齊全,占用資源少,能為用戶節(jié)約流量的的網(wǎng)上訂餐應(yīng)用,于是提出本系統(tǒng)的主要功能。需求界面如下:客戶端:1、登陸、注冊界面2、顯小菜品界面3、搜索菜品界面(按菜品名稱、種類、店鋪名稱進行搜索)4、購物車界面5、個人信息界面6、菜品詳情界面服務(wù)器端:1、登陸界面2、訂單管理、菜品管理、會員管理界面需求實現(xiàn)功能如下:客戶端:1、實現(xiàn)客戶端與服務(wù)器之間的連接2、實現(xiàn)登陸、注冊功能3、實現(xiàn)登陸后能瀏覽到服務(wù)器數(shù)據(jù),并對數(shù)據(jù)進行一系列的

34、操作4、能把菜品加入到購物車,并結(jié)算生成訂單5、把生成的訂單信息傳回服務(wù)器端服務(wù)器端:1、實現(xiàn)管理員登陸2、實現(xiàn)添加、刪除、修改菜品信息3、實現(xiàn)對客戶端傳過來的訂單進行處理4、實現(xiàn)添加、刪除會員列表功能模塊圖如3.1所示:基于android的網(wǎng)上仃餐系統(tǒng)客戶端數(shù)據(jù)交耳和邏輯處理服務(wù)端管理員登錄訂單齊詢商品增刪改杳.AuTx員信思增州杳圖3.1系統(tǒng)功能模塊圖3.2模塊結(jié)構(gòu)與流程3.2.1客戶端表3.1客戶端概要設(shè)計表客戶端模塊簡要說明登陸模塊在連接上服務(wù)器的前提下登陸成功注冊模塊在連接上服務(wù)器的前提下注冊成功瀏覽菜品模塊菜品詳情模塊從服務(wù)器中讀取數(shù)據(jù),并把數(shù)據(jù)封裝顯示在菜品列表中點擊菜品進入到菜

35、品的詳細介紹和訂餐服務(wù)頁面搜索模塊購物車模塊按照用戶選擇的條件從手機數(shù)據(jù)庫中搜索菜品當(dāng)用戶定了菜品之后,所有訂單信息都顯示在這個模塊中,并且點擊結(jié)算按鈕生成訂單傳送回服務(wù)器個人信息模塊顯示用戶的個人信息3.2.2服務(wù)端圖3.2客戶端流程圖表3.2服務(wù)器端概要設(shè)計表服務(wù)器端模塊簡要說明登陸模塊提供管理員登陸訂單信息模塊顯示現(xiàn)有的訂單信息并給與處理按鈕菜品添加刪除修改模塊對要顯示在客戶端的菜品進行添加刪除修改操作會員管理模塊對會員進行添加和刪除以及查看信息N圖3.3服務(wù)器流程圖3.3 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫結(jié)構(gòu)組織和數(shù)據(jù)庫文件設(shè)計要根據(jù)不同用途,使用要求等,來決定數(shù)據(jù)庫的整體組織形式等一系列問題。數(shù)據(jù)庫

36、,顧名思義,是存放數(shù)據(jù)的倉庫,只不過這個倉庫是在計算機存儲設(shè)備上的,而且數(shù)據(jù)是按一定格式存放。數(shù)據(jù)庫中的數(shù)據(jù)按一定模型組織描述和存儲。具有較小的重復(fù)度,較高的數(shù)據(jù)獨立性和易擴張性,并且可以被一定范圍內(nèi)的各種用戶共享。在涉及數(shù)據(jù)庫的軟件開發(fā)中,需要根據(jù)有待解決的問題性質(zhì),規(guī)模,以及所采用的前端程序創(chuàng)建工具等。做出合適的數(shù)據(jù)庫類型選擇。在該項目中建立了兩個數(shù)據(jù)庫,客戶端和服務(wù)器各一個,用這種設(shè)計方式主要是為用戶減少許多不必要的流量浪費,如果只創(chuàng)建一個服務(wù)器數(shù)據(jù)庫的話,用戶每次連接上服務(wù)器時都會將服務(wù)器的所有資源全部接受一遍,但是事實上該項目并不需要實時的更新數(shù)據(jù),因為有些菜品的信息可能很久都不會有

37、變動,所以考慮在客戶端也創(chuàng)建一個數(shù)據(jù)庫把服務(wù)器端發(fā)送過來的數(shù)據(jù)存儲在本地數(shù)據(jù)庫中,當(dāng)服務(wù)器有更新時只需要傳遞改變的數(shù)據(jù)就可以實現(xiàn)更新。3.3.1 數(shù)據(jù)庫表及其結(jié)構(gòu)服務(wù)器數(shù)據(jù)庫(SQLServer2005Admin表:管理員編號,用戶名,密碼,權(quán)限。BaseProductsS:菜品編號,菜品名字,菜品種類,菜品價格,菜品圖片。DetailOrders表:訂單編號,詳細編號,菜品編號,數(shù)量。DetailProducts表:編號,菜品編號,菜品價格,菜品狀態(tài),折扣,菜品描述。Member表:會員編號,會員名字,會員密碼,會員性別,會員電話,會員地址,會員積分,會員金錢。Orders表:訂單編號,訂單

38、生成時間,會員編號,訂單狀態(tài)??蛻舳藬?shù)據(jù)庫(SQLite)Shoppingrecord表:訂單編號,詳細編號,菜品編號,數(shù)量。Showedgoodsg:菜品編號,菜品名字,菜品種類,菜品價格,菜品圖片3.3.2 數(shù)據(jù)系統(tǒng)E-R(實體-聯(lián)系)圖用來描述數(shù)據(jù)關(guān)系模型,可以用來建立數(shù)據(jù)模型。本系統(tǒng)共有8個實體,具關(guān)系如圖3.4所示。lkei1rdPKoiddeid.biddjoiuunshowedcoois"bnum亡hstxl藝tostyl0tiDJtl«zeIboictuxedoi顯Dvt亞訂Frodixct3EFF21bia3gttaisedLs十4teddi旦Buntd.

39、sonrMntAdLminaidacod.®=l!svslCN-Crders-kCC>l-pxaxiln:口mn:=irneiticode面sesiriTiunb£Tnnadilt已寫三iriscotreKK1FK2otime05tslIed-iamid圖3.4全局E-R圖卜面列舉主要實體:管理員實體(Admin)包括管理員編號、管理員姓名(登錄姓名卜登錄密碼、管理員等級等屬性,如圖3.5所示。會員實體(Member)包括會員編號、會員姓名(登錄帳號)、登錄密碼、管理員性別,聯(lián)系電話,聯(lián)系地址,會員積分等屬性。如圖3.6所示。圖3.6會員實體屬性圖3.3.3 客戶端數(shù)

40、據(jù)庫的連接Andorid數(shù)據(jù)庫存儲的位置在data/data/題目文件夾,databases目錄下,Android是利用ContentProvider作為內(nèi)容提供商,SQLiteOpenHelper數(shù)據(jù)庫幫助類來進行對數(shù)據(jù)庫的創(chuàng)建和操作。程序中數(shù)據(jù)庫類為MyopenHelperextendsSQLiteOpenHelper繼承關(guān)系),在此列出連接數(shù)據(jù)庫的代碼:publicclassMyopenHelperextendsSQLiteOpenHelper/牛成表shoppingrecod,用以記錄購買過的商品privatestaticfinalStringRECORD_TABLE="cr

41、eatetableshoppingrecord(oidintegerprimarykey,doidinteger,bidinteger,donuminteger)"/牛成表showedgoods用以存儲上次購買過的商品privatestaticfinalStringGOODS_TABLE="createtableshowedgoods(bidinteger,primarykey,bnamevarchar,bstylevarchar,bpricefloat,bpicturevarchar)"/創(chuàng)建表publicvoidonCreate(SQLiteDatabased

42、b)db.execSQL(RECORD_TABLE);db.execSQL(GOODS_TABLE);/更新表publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)db.execSQL("droptableifexistsshoppingrecord");db.execSQL("droptableifexistsshowedgoods");db.execSQL(RECORD_TABLE);db.execSQL(GOODS_TABLE);3.3.4 服務(wù)器數(shù)據(jù)庫的連接服務(wù)器端采用S

43、QLServer2005來創(chuàng)建數(shù)據(jù)庫,首先得導(dǎo)入sql2000_2005jdbc.jar庫文件,然后在數(shù)據(jù)庫的配置工具中開啟SQLServer服務(wù),接下來就要在java代碼中實現(xiàn)連接數(shù)據(jù)庫的功能了,代碼如下:publicstaticConnectiongetCon()Connectioncon=null;if(!isInitialized)returncon;tryClass.forName(prop.getProperty("className");/連接數(shù)據(jù)庫語句,urluserpw刪在配置文件sql.ini中con=DriverManager.getConnectio

44、n(prop.getProperty("url"),prop.getProperty("user"),prop.getProperty("pwd");catch(Exceptione)e.printStackTrace();returncon;Sql.ini配置文件內(nèi)容:className=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver:/localhost:1433;databaseName=Dinneruser=sapwd=1233.4 系統(tǒng)結(jié)構(gòu)本系統(tǒng)采

45、用HTTP協(xié)議來進行數(shù)據(jù)傳輸。采用C/S結(jié)構(gòu),客戶端為基于Android操作系統(tǒng)平臺的智能手機,主要的業(yè)務(wù)邏輯則服務(wù)器端來實現(xiàn),數(shù)據(jù)存儲在數(shù)據(jù)庫服務(wù)器。3.4.1 部署圖系統(tǒng)部署如圖3.7所示,客戶端采用基于Android操作系統(tǒng)平臺的智能手機,服務(wù)器端包括服務(wù)器、圖形界面化工具和數(shù)據(jù)庫服務(wù)器,主要處理業(yè)務(wù)邏輯和對數(shù)據(jù)的增刪改查。3.4.2 類圖根據(jù)已建立的用例圖確定要建立的對象類并確定屬性和操作。通過檢查類的定義,分析問題的需求和運用該領(lǐng)域知識來確定類的屬性。根據(jù)系統(tǒng)功能需求和系統(tǒng)設(shè)計需要確定類的操作,本系統(tǒng)有6個實體類,分別為管理員實體類(Admin)、會員實體類(Member)、訂單實體

46、類(Orders)、訂單詳情實體類(DetailOrders)、商品實體類(Product)、商品詳情實體類(DetailProducts),如圖3.8所示。Amin-aid:int-aname:string-acode:string+getAid():int+setAid()+getAname():string+setAname()+getAcode():string+setAcode()Member-mid:int-mname:string-mcode:string-msex:string-mnumber:string-maddress:string-mscore:int-mmoney:f

47、loat+getMid():int+setMid()+getMname():string+setMname()+getMcode():string+setMcode()+getMsex():string+setMsex()+getMnumber():string+setMnumber()+getMaddress():string+setMaddress()+getMscore():int+setMscore()+getMmoney():float+setMmoney()DetailOrder-oid:int-doid:int-bid:int-donum:int+getOid():int+set

48、Oid()+getDoid():int+setDoid()+getBid():int+setBid()+getDonum():int+setDonum()BaseProducts-bid:int-bname:string-bstyle:string-bprice:float-bpicture:string+getBid():int+setBid()+getBname():string+setBname()+getBstyle():string+setBstyle()+getBprice():float+setBprice()+getBpicture():string+setBpicture()

49、DetailProducts-did:int-bid:int-dappraise:float-dstate:int-ddiscount:int-dcomment:string+getDid():int+setDid()+getBid():int+setBid()+getDappraise():float+setDappraise()+getDstate():int+setDstate()+getDdiscount():int+setDdiscount()+getDcomment():string+setDcomment()Orders-oid:int-otime:string-mid:int-

50、ostate:int+getOid():int+setOid()+getOtime():string+setOtime()+getMid():int+setMid()+getOstate():int+setOstate()圖3.8實體類3.5 執(zhí)行概念本系統(tǒng)時序圖如圖3,9所示。圖3.9系統(tǒng)時序圖1、客戶端發(fā)送請求給服務(wù)器,服務(wù)器的后臺Servlet負責(zé)處理數(shù)據(jù)2、服務(wù)器業(yè)務(wù)邏輯處理會調(diào)用DAO,進行數(shù)據(jù)處理。3、調(diào)用實體類,把數(shù)據(jù)保存到數(shù)據(jù)庫DB中。4、DAO返回結(jié)果給Servleto5、Servlet把結(jié)果返回給客戶端。第四章系統(tǒng)實現(xiàn)4.1Android環(huán)境搭建任何事物要運行,都要有它的環(huán)

51、境,Android也有它的環(huán)境才能夠運行,下面介紹Android的開發(fā)環(huán)境配置.搭建開發(fā)環(huán)境需要的軟件:1、操作系統(tǒng):Windows7或Linux2、軟件包:AndroidSDK(SoftwareDevelopmentkitJavaDevelopmentkit)、ADT(AndroidDeveloopmentTool)3、IDE環(huán)境:EclipseIDE+ADTEclipse3.3以上4、JDK:JavaRuntimeEnvironment虛擬機、(JDK)JavaDevelopmentkit安裝步驟如下:第一步:安裝Java虛擬機sun-java6-jdk版本第二步:安裝Eclipse3.5

52、工具官網(wǎng)/downloads/選擇版本(圖4.1):進行安裝WlxicvjtMacCarton32bitMacCocca32bi:64bnunuHam每41MEclipsetorRCPPlug-inH83WIBU-completssetoftoolsforieveIojer=owanttoereatEEclipseplug-insorRichChentApizlluuona-nInduJeaacompile3DK,dsveop«ricolsardsourcecode,plusan.MLeditorandth?EelipegCommunicad

53、onFrametwork.!.lore.downloads:29,550圖4.1eclipse下載第三步:安裝AndroidSDK:首先要下載SDK,可以在這個網(wǎng)址下載Http:developers外司roriSiK泅福r”Hnrinq*UrwGsd,IulJhmCjornmiirwrivDownload1hw»AncknidSDKPlfU'gaiuPoukd'U5U#UD£口mdi»iE.1口.*Lk:w力中蚪He7黨?拈力MM:,:k瓶取:的旗卜號lif|Nwihih<MUUKyjuituI昔mi:griprri居矚寸*II5星MWinr

54、i-sfwwinrti*AflTfri-FFWp依jhicm日rhwSt一僮uFiswiMirm劇Taynriti由SI><kVi-|pnrirfl|時IM小UHhyp,啕口產(chǎn)劇111MIki&rld*hmm;.«!;k*“仁1皿臚hj-fls檢升時嗡1K一加;匚。MJiiiy"SCKCu|wiwiLAROd工二我:nrrnq”訶1efPLr,iiWnI醒悟HSMW鏟JQTQhENrIh.介;二fitTm*nrinri1."J4LK-1:SOKWEee掘qurow.anls3DKT#_rtarcCaicKCrfiiiMu圖4.2SDK下載第四步

55、:安裝AndroidADT插件運行Eclipse,選擇help->installnewsoftware選擇add,將會彈出一個框,如圖4.3所示in4AviailbleSoftware立siteor電口.七七丁iheLtcelian4site.pyp*rvxit*?寫luynnlylaA«r.Evbttir-TiXaFavna»pcpfLni'vrFBadetft1氏.,KT40事*4"7LTgEi9ll*r1用ilM/byct”cry¥h睢tle虱j,:i曜QonttctillTij'dtttxhtes-inraiLCinxl&#

56、171;lltofind,reguirtdsoftwirefanA:-t«satfcvKTbpvorkivaikLli»*'A.alL.IjI*jS*“u.pxafvrinEaxC«nc«l圖4.3ADT的安裝點擊OK,選擇要安裝的軟件,占next,然后選擇接受協(xié)議,直到安裝成功,重啟Eclipse軟件,設(shè)置AndroidSDKHome,Window->refrence圖4.4設(shè)置SDK路徑在SDKlocation中輸入SDKTools路徑:D:androidandroid-sdk點擊OK這樣Android環(huán)境就已經(jīng)搭建成功了。4.2客戶端

57、4.2.1 系統(tǒng)登錄登陸模塊界面如圖4.5所示,顯示了一個登陸窗口,在其中加入許多控件,如文本輸入框(Ed計Text),文本顯示框(TextView),單選按鈕(RaidoButton),復(fù)選按鈕(CheckBox)等,然后用一系列的布局將具有條理的放在這個窗口中??谟?日下午KZ9圖4.5登陸窗口當(dāng)用戶點擊游客登陸時,將不會跟服務(wù)器的數(shù)據(jù)庫進行匹配,直接進入主界面,代碼如下:if(flag)/當(dāng)用戶選擇游客登陸時點擊登陸按鈕直接進入主界面Intentintent=newIntent(LoginActivity.this,ProductListActivity.class);startActivity(intent);Intentintent1=newIntent(LoginActivity.this,UpdateServ

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論