




已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
鹽 城 師 范 學(xué) 院畢業(yè)設(shè)計(jì)面向Android的汽車租賃系統(tǒng)的設(shè)計(jì)與開發(fā)學(xué)生姓名 學(xué) 院 信息工程學(xué)院 專 業(yè) 數(shù)字媒體技術(shù) 班 級 12(2) 學(xué) 號 指導(dǎo)教師 年 月 日鹽城師范學(xué)院畢業(yè)設(shè)計(jì)面向Android的汽車租賃系統(tǒng)的設(shè)計(jì)與開發(fā)摘 要隨著互聯(lián)網(wǎng)+時代的到來,許多傳統(tǒng)行業(yè)面臨轉(zhuǎn)型,租賃行業(yè)不可避免的也受到了深刻的影響。針對汽車租賃行業(yè)所面臨的租車手續(xù)繁瑣、車型難以選擇等問題,結(jié)合用戶的實(shí)際需求,以消息推送、網(wǎng)絡(luò)定位、異步處理等技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了一款更高效、便捷、可預(yù)約式的面向Android智能移動終端的汽車租賃系統(tǒng)。實(shí)現(xiàn)了個人信息、在線租賃、訂單提交、定位搜索、信息維護(hù)等相關(guān)功能,極大的豐富和方便了人們的出行方式,為此類電子商務(wù)軟件的開發(fā)提供了參考?!娟P(guān)鍵詞】汽車租賃;Android;消息推送;異步處理全套設(shè)計(jì)加扣 3012250582Design and development of car rental system to AndroidAbstractWith the Internet plus era, many traditional industries are facing restructuring, leasing industry inevitably receive the profound influence. In the light of the problem in the car rental industry is facing the car rental procedures cumbersome, models are difficult to select, combined with the users actual needs, to news push send, network orientation, asynchronous processing and other technology to design and implement a more efficient, convenient, can make an appointment type for Android intelligent mobile terminal to the car rental system. Realization of personal information, online rental, order submission, location search, maintenance and other related information, greatly enrich and facilitate the way people travel,provide a reference for such e-commerce software development.Key words car rental; Android; message push; asynchronous processing目 錄1緒論31.1課題背景和意義31.2 課題研究的主要內(nèi)容32 系統(tǒng)開發(fā)的環(huán)境及技術(shù)分析32.1 開發(fā)環(huán)境32.2 技術(shù)分析42.2.1 Android技術(shù)42.2.2 Axis2框架42.2.3 推送技術(shù)53 需求分析63.1 系統(tǒng)可行性分析63.1.1 技術(shù)可行性63.1.1 法律可行性63.1.3 經(jīng)濟(jì)可行性63.2 系統(tǒng)功能性分析73.2.1 手機(jī)客戶端73.2.2 瀏覽器服務(wù)端74 系統(tǒng)總體設(shè)計(jì)74.1 設(shè)計(jì)原則74.2 體系架構(gòu)84.3 數(shù)據(jù)庫表設(shè)計(jì)84.4 客戶端模塊設(shè)計(jì)104.5 服務(wù)端模塊設(shè)計(jì)125 系統(tǒng)詳細(xì)設(shè)計(jì)與編碼實(shí)現(xiàn)135.1 數(shù)據(jù)庫連接135.2 手機(jī)客戶端145.2.1 自定義適配器實(shí)現(xiàn)145.2.2 推送消息的獲取155.2.3 客戶端AsyncTask請求165.2.4 定位實(shí)現(xiàn)185.3 瀏覽器服務(wù)端195.3.1 查詢實(shí)現(xiàn)195.3.2 新增實(shí)現(xiàn)196 系統(tǒng)測試206.1 系統(tǒng)測試的目的及意義206.2 客戶端功能測試216.2.1 登錄功能測試216.2.2 租車功能測試216.2.3 用戶信息測試216.2.4 訂單功能測試226.2.5 邊緣功能測試226.3 后臺功能測試23結(jié)束語24參考文獻(xiàn)25致 謝261緒論1.1 課題背景和意義隨著移動通訊平臺的發(fā)展和WIFI的普及,智能手機(jī)的功能已不局限于打電話和發(fā)短信,越來越多的人開始通過智能手機(jī)進(jìn)行日常的娛樂、通訊、工作、出行等方方面面。在這其中Android系統(tǒng)因?yàn)槠淞己玫慕换バ院头€(wěn)定性成為智能手機(jī)的主流操作系統(tǒng)。同時Android憑借開放的平臺和開源的特性,給開發(fā)者提供自由的開發(fā)環(huán)境。從2006年開始,中國的汽車租賃行業(yè)就處在飛速發(fā)展的階段,市場規(guī)模從當(dāng)初的20億元到現(xiàn)在的270億元。據(jù)估計(jì)未來幾年,中國汽車租賃行業(yè)仍將持續(xù)快速增長1。同時,汽車租賃行業(yè)的發(fā)展近幾年也從傳統(tǒng)的面對外企、大型國有企業(yè)等企業(yè)用戶大規(guī)模的轉(zhuǎn)向投入個人業(yè)務(wù)中。在行業(yè)快速發(fā)展的同時,傳統(tǒng)的線下租車模式已經(jīng)不能滿足大眾的需求,人們迫切希望通過移動平臺快速的租賃汽車。為了滿足人們的需求,改革傳統(tǒng)的租車模式,結(jié)合相關(guān)技術(shù)設(shè)計(jì)開發(fā)了面向Android的汽車租賃系統(tǒng)。用戶僅需下載安裝軟件注冊用戶,即可快速的選取周邊汽車租賃店并預(yù)約汽車,滿足了用戶對于快速租賃的實(shí)際需求。1.2 課題研究的主要內(nèi)容基于Android的汽車租賃系統(tǒng)是一款面向大眾的軟件,開發(fā)過程中需要考慮到不同年齡段的使用人群,盡最大可能的滿足各種人群的需求。系統(tǒng)的瀏覽器端采用Java Web進(jìn)行開發(fā),有利于以后的跨平臺使用。手機(jī)移動端采用Android控件和Java技術(shù)進(jìn)行開發(fā),數(shù)據(jù)庫使用MySQL。管理員根據(jù)要求,將門店,汽車等信息從瀏覽器端輸入到數(shù)據(jù)庫中,并對數(shù)據(jù)進(jìn)行維護(hù)和更新。用戶可在客戶端發(fā)送數(shù)據(jù)請求,通過Web服務(wù)查詢數(shù)據(jù)庫并返回JSON數(shù)據(jù),從而完成服務(wù)端與客戶端的數(shù)據(jù)信息交互。2 系統(tǒng)開發(fā)的環(huán)境及技術(shù)分析2.1 開發(fā)環(huán)境服務(wù)器端開發(fā)環(huán)境:以WIN8.1 64位操作系統(tǒng)為開發(fā)平臺,MySQL5.6存儲數(shù)據(jù),Tomcat7.0作為服務(wù)器,Eclipse EE(集成Axis2插件)作為Android服務(wù)端開發(fā)工具,MyEclipse作為客戶端開發(fā)工具??蛻舳碎_發(fā)環(huán)境:以WIN8.1 64位操作系統(tǒng)為開發(fā)平臺,以Myeclipse(集成SDK:Android4.0)作為集成開發(fā)工具,夜神模擬器作為測試工具。2.2 技術(shù)分析2.2.1 Android技術(shù)經(jīng)過十多年的發(fā)展,Android技術(shù)開發(fā)已經(jīng)很完善,其采用分層架構(gòu),如圖2-1。開發(fā)者可以選擇使用Java作為開發(fā)語言來進(jìn)行應(yīng)用開發(fā),也可以使用NDK或者C/C+來進(jìn)行應(yīng)用開發(fā)。Android SDK(軟件開發(fā)包)中有很多特制的工具和文件,可以幫助開發(fā)者在開發(fā)平臺上對移動應(yīng)用程序進(jìn)行快速開發(fā)2。一個Android應(yīng)用程序一般是由四大組件構(gòu)成。Activity(活動):是Android程序顯示給用戶信息的界面,用于設(shè)置頁面布局內(nèi)容等信息;Service(服務(wù)):在界面不呈現(xiàn)任何信息,對后臺運(yùn)行程序進(jìn)行處理;BroadcastReciever(廣播接收器):用來接受廣播;ContentProvider(內(nèi)容提供商):支持程序之間進(jìn)行數(shù)據(jù)的分享。圖2-1 Android分層架構(gòu)圖2.2.2 Axis2框架Axis2是Apache公司發(fā)布的最新的Web Service模型。它不是在Axis1基礎(chǔ)上的擴(kuò)展,而是重新開發(fā),重新實(shí)現(xiàn)。與之前的版本相比,它更加的高效、模塊化和可擴(kuò)展。Axis2支持SOAP協(xié)議,同時使用了新的核心XML處理模型AXIOM,更快更有效率。從技術(shù)層面上來說,Axis2由六部分組成3。組成部分見圖2-2所示。在Android開發(fā)中,使用Axis2,開發(fā)者可以快速實(shí)現(xiàn)Web Service。具體實(shí)現(xiàn)流程見圖2-3。圖2-2 Axis2技術(shù)構(gòu)成圖圖2-3 實(shí)現(xiàn)流程圖2.2.3 推送技術(shù)數(shù)據(jù)推送的實(shí)現(xiàn)方案有很多種,最常見的有如下幾種:(1)C2DM推送。它提供了輕量級的消息推送體制,允許服務(wù)端告訴客戶端進(jìn)行數(shù)據(jù)交互。它是Google公司提供的原生框架,操作起來簡單方便,但是需要對android的版本號提出了要求,同時需要Google帳號登錄。(2)基于XMPP的AndroidPN推送。主要用于即時通訊,可擴(kuò)展性強(qiáng),但是需要在原有基礎(chǔ)上進(jìn)行二次開發(fā),穩(wěn)定性差,成本高。(3)使用MQTT協(xié)議。它是IBM開發(fā)的輕量級消息協(xié)議,省電省流量,但是技術(shù)實(shí)現(xiàn)成本高,同時還不夠完善4。以上幾種方案都存在一定的問題,從課題的技術(shù)需求出發(fā),選擇速度與可擴(kuò)展性兼具的極光推送技術(shù)。課題中采用極光推送的Web后臺建立與客戶端的移動無線長連接,在客戶端中嵌入推送的SDK,使用AlarmManager來定時執(zhí)行任務(wù),接受推送的消息。使用這種方案實(shí)現(xiàn)簡單、減少開發(fā)成本、節(jié)約用戶的流量和電量,同時極光推送還提供了消息推送結(jié)果查詢,對消息推送的結(jié)果和過程有比較詳細(xì)的記錄。極光推送原理圖見圖2-4。圖2-4 JPush推送原理3 需求分析3.1 系統(tǒng)可行性分析3.1.1 技術(shù)可行性該租車系統(tǒng)是基于Android系統(tǒng)下的手機(jī)應(yīng)用軟件,使用的是Java語言在Myeclipse上進(jìn)行開發(fā)。Android屬于開源代碼,在網(wǎng)上能找到很多的案例和官方提供的API可供參考,同時有大量的第三方的插件可以輔助我們進(jìn)行快速的開發(fā)。所以整個設(shè)計(jì)過程和開發(fā)過程是可行的。3.1.1 法律可行性軟件開發(fā)所用的技術(shù)和工具都是開源免費(fèi)的,應(yīng)用軟件是經(jīng)過調(diào)查研究之后針對汽車租賃這一行業(yè)進(jìn)行開發(fā)的,并且整個設(shè)計(jì)開發(fā)的過程完全由開發(fā)者獨(dú)立的完成,開發(fā)人員對該系統(tǒng)的代碼和產(chǎn)品具有使用權(quán)。因此在法律上來說,面向Android的汽車租賃系統(tǒng)完全不存在問題。3.1.3 經(jīng)濟(jì)可行性傳統(tǒng)的線下租車模式已經(jīng)不能滿足人們對于方便快捷的獲取信息和服務(wù)的宗旨了,而通過設(shè)計(jì)開發(fā)手機(jī)端的汽車租賃服務(wù)來滿足人們的需求已經(jīng)成為一種趨勢。設(shè)計(jì)開發(fā)Android的汽車租賃系統(tǒng)不需要消耗大量的資金,只需要提供技術(shù)和工具的使用即可完成,在經(jīng)濟(jì)上是可行的。3.2 系統(tǒng)功能性分析3.2.1 手機(jī)客戶端用戶:用戶注冊:查詢用戶個人信息功能,用戶賬戶金額的充值、帳號密碼修改功能。查詢門店:了解門店信息,同時附加定位功能,了解自己所處的地理位置,選擇最近的門店。汽車租賃:根據(jù)需求,用戶選擇時間、門店、車型等條件進(jìn)行租車,并計(jì)算租車總金額給用戶。訂單管理:查詢用戶所用狀態(tài)訂單,對租賃中訂單進(jìn)行退訂和確認(rèn)操作,對完成的訂單可以進(jìn)行刪除。接受顯示軟件后臺推送過來的消息。使用分享軟件功能,可以將軟將分享到QQ、微博等比較流行的平臺上。3.2.2 瀏覽器服務(wù)端管理員:有關(guān)管理員的基本功能:管理門店、車輛等信息的錄入和維護(hù)更新;管理員根據(jù)實(shí)際的需求,對使用軟件的注冊用戶信息進(jìn)行查詢、修改、刪除等;對某些用戶的訂單信息進(jìn)行查詢、刪除等。管理員使用推送功能,選擇推送用戶的范圍和推送消息的內(nèi)容和格式,并負(fù)責(zé)對推送消息的后期跟進(jìn)和維護(hù)。4 系統(tǒng)總體設(shè)計(jì)4.1 設(shè)計(jì)原則(1)實(shí)用性:汽車租賃系統(tǒng)的設(shè)計(jì)從用戶的需求出發(fā),在滿足用戶的主要需求的同時整合挖掘系統(tǒng)邊緣功能,加強(qiáng)系統(tǒng)的實(shí)用性。(2)可維護(hù)性和可擴(kuò)展性:考慮到未來的二次開發(fā)需求,系統(tǒng)在設(shè)計(jì)開發(fā)中實(shí)現(xiàn)了功能點(diǎn)的模塊化和規(guī)范化。(3)合理性:在設(shè)計(jì)系統(tǒng)的時候,充分考慮到了系統(tǒng)容量的問題,對運(yùn)行環(huán)境的有較好的適應(yīng)性。(4)界面友好性:界面是否美觀是用戶選擇是否繼續(xù)使用軟件的重要因素。本系統(tǒng)界面著色合理,給人以大方、舒適感,爭取獲得用戶的贊同。4.2 體系架構(gòu)汽車租賃系統(tǒng)在服務(wù)器端采用B/S(瀏覽器/服務(wù)器)模式開發(fā),有利于以后的維護(hù)和擴(kuò)展。管理員端實(shí)現(xiàn)零安裝、跨平臺使用。用戶客戶端采用Android開發(fā),用戶下載Android手機(jī)端軟件并安裝,以較少的網(wǎng)絡(luò)數(shù)據(jù)實(shí)現(xiàn)信息的查詢和發(fā)送。系統(tǒng)體系架構(gòu)如圖4-1所示。圖4-1 系統(tǒng)體系架構(gòu)4.3 數(shù)據(jù)庫表設(shè)計(jì)在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)之前,必須先了解每個實(shí)體相對應(yīng)的表,每一個實(shí)體所代表的意思,同時明白實(shí)體所具有的屬性,相對應(yīng)的名稱,字段的類型,約束條件等。明白每個實(shí)體之間的關(guān)聯(lián),每個實(shí)體屬性的關(guān)聯(lián)是設(shè)計(jì)一個好的數(shù)據(jù)庫的關(guān)鍵。在MySQL 5.6中創(chuàng)建名為carclient的數(shù)據(jù)庫,根據(jù)項(xiàng)目的需求分析和實(shí)際要求,系統(tǒng)一共創(chuàng)建了五張表:用戶信息表、車輛信息表、門店信息表、訂單信息表、管理員信息表。主要數(shù)據(jù)庫表如下:描述:用戶信息表(use_table)用來存儲用戶信息,管理員管理,用戶登錄、注冊、修改密碼等操作都將對此表數(shù)據(jù)做修改。如表4-1所示。表4-1 用戶信息表字段名數(shù)據(jù)類型字段大小備注idint11主鍵自增IDnamevarchar55用戶名pwdvarchar55密碼續(xù)表4-1unamevarchar55昵稱iphonevarchar55電話moneydouble55賬戶金額描述:車輛信息表(car_table)用來存儲租賃公司所有的車輛信息,管理員新增、修改等操作,用戶租車、還車等操作都將對此表數(shù)據(jù)做修改。如表4-2所示。表4-2 車輛信息表字段名數(shù)據(jù)類型字段大小備注idint11主鍵自增IDstylevarchar55車輛型號namevarchar55用戶名platevarchar55車牌號carplacevarchar55車輛所在門店carpriceint10租金flagint11使用狀態(tài)描述:門店信息表(mendian_table)用來存儲門店信息,用戶查看門店操作,管理員新增、修改等操作都將對此表進(jìn)行修改。如表4-3所示。表4-3 門店信息表字段名數(shù)據(jù)類型字段大小備注idint11主鍵自增IDmendiancityvarchar55城市mendiannamevarchar55店名mendianplacevarchar55地址描述:訂單信息表(myorder_table)用來存儲所有用戶的租車情況,用戶下單租車,完成訂單,取消訂單都將對此表進(jìn)行修改。如表4-4所示。表4-4 訂單信息表字段名數(shù)據(jù)類型字段大小備注idint11主鍵自增IDusenamevarchar55用戶名ordertimevarchar55租車日期rentaltimevarchar55還車日期續(xù)表4-4getcarplacevarchar55取車門店repaycarplacevarchar55還車門店carinfovarchar55車輛信息rentalmoneyvarchar55租金platevarchar55車牌號flagvarchar55訂單狀態(tài)描述:管理員信息表(admin_table)。主要存儲管理員的登錄名和密碼信息。管理員登錄管理員端的時候會調(diào)用表中的數(shù)據(jù),將輸入的信息與管理員表中的進(jìn)行匹配。如表4-5所示。表4-5 管理員表字段名數(shù)據(jù)類型字段大小備注idint4主鍵自增IDusernamevarchar50管理員姓名passwordvarchar50管理員密碼4.4 客戶端模塊設(shè)計(jì)客戶端需要用戶下載安裝應(yīng)用程序并注冊用戶,用戶輸入用戶名和密碼并通過邏輯處理和驗(yàn)證之后方能進(jìn)入程序,進(jìn)行網(wǎng)絡(luò)租賃汽車、個人信息管理、推送消息接收、地理位置定位、訂單管理、軟件分享等操作。在客戶端通過網(wǎng)絡(luò)向服務(wù)器端發(fā)送數(shù)據(jù)請求,等待接受服務(wù)端返回的JSON類型的數(shù)據(jù)并顯示。JSON數(shù)據(jù)類型結(jié)構(gòu)如圖4-2所示。圖4-2 JSON數(shù)據(jù)類型結(jié)構(gòu)圖客戶端功能模塊劃分,如圖4-3所示。圖4-3 客戶端功能結(jié)構(gòu)圖各功能模塊詳細(xì)功能介紹:(1)汽車租賃:用戶根據(jù)要求選擇租車時間和地點(diǎn),根據(jù)租車地點(diǎn)顯示閑置的車輛提供給用戶選擇,同時用戶需要選擇還車時間和地點(diǎn)。成功提交訂單之后會彈出租車的詳細(xì)信息給用戶,包括計(jì)算得到的租車金額。(2)個人信息:功能一:顯示用戶的個人信息,包括姓名、電話、金額;功能二:提供用戶金額充值;功能三:修改用戶的登錄密碼。(3)門店信息:功能一:顯示軟件中門店的具體信息;功能二:用戶可以定位自己當(dāng)前的具體位置。(4)軟件分享:用戶可以在各大主流交流平臺上推廣軟件。(5)電話預(yù)約:針對不太熟悉網(wǎng)上租賃的用戶,通過點(diǎn)擊電話預(yù)定,選擇客服服務(wù),租賃汽車。(6)訂單信息:功能一:查看用戶所有的訂單信息;功能二:查看用戶已完成的訂單信息,對訂單可以進(jìn)行刪除;功能三:查看未完成的訂單,對訂單可以進(jìn)行退訂和確定完成訂單。(7)應(yīng)用信息:應(yīng)用版本、開發(fā)團(tuán)隊(duì)、開發(fā)日期等信息。4.5 服務(wù)端模塊設(shè)計(jì)服務(wù)端采用B/S模式設(shè)計(jì),無需客戶端,只需要通過瀏覽器就可以直接訪問數(shù)據(jù)庫,不僅有利于系統(tǒng)的維護(hù)和擴(kuò)展,同時也便于管理員的使用。為了是界面美觀,操作方便,服務(wù)端采用了HTML、CSS結(jié)合JS實(shí)現(xiàn)了動態(tài)數(shù)據(jù)顯示。管理員端只允許管理員的身份登錄??梢愿鶕?jù)系統(tǒng)的具體要求添加多個管理員,管理員可以進(jìn)去系統(tǒng)對每個模塊進(jìn)行必要的操作。功能模塊劃分,如圖4-4所示。下面是對功能模塊的劃分。圖4-4 瀏覽器服務(wù)端功能結(jié)構(gòu)圖各功能模塊詳細(xì)功能介紹:(1)汽車信息管理:功能一:管理員錄入汽車信息,顯示全部汽車信息;功能二:選擇某一輛汽車,對汽車信息進(jìn)行修改、刪除。(2)訂單信息管理:功能一:顯示用戶的訂單信息;功能二:對錯誤訂單信息進(jìn)行刪除。(3)消息推送管理:根據(jù)需求選擇消息推送的人群和消息推送的內(nèi)容。對推送的信息進(jìn)行成功檢測。(4)門店信息管理:功能一:管理員錄入門店信息,顯示全部門店信息;功能二:對門店信息進(jìn)行修改、刪除。(5)個人信息管理:對注冊用戶的信息進(jìn)行管理和必要的監(jiān)督。5 系統(tǒng)詳細(xì)設(shè)計(jì)與編碼實(shí)現(xiàn)5.1 數(shù)據(jù)庫連接服務(wù)端連接數(shù)據(jù)采用JDBC的連接方式,對數(shù)據(jù)進(jìn)行查詢刪除等都在DB類中實(shí)現(xiàn)。實(shí)現(xiàn)代碼如下:public class DB / JDBC方式連接數(shù)據(jù)庫 /申明變量public DB() try Class.forName(com.lyl.db.mynewsql); catch (java.lang.ClassNotFoundException error) /輸出數(shù)據(jù)庫驅(qū)動注冊信息錯誤報(bào)告 / 執(zhí)行SQL查詢語句public ResultSet LylMyOwnQuery(String sql) try myconnect = DriverManager.getConnection(sConnStr, root, liyunlong); /獲取登錄數(shù)據(jù)庫所需要的資源,如URL statqleerur= myconnect .createStatement(); /創(chuàng)建對象用來執(zhí)行SQL resawees = statqleerur.executeQuery(sql); /執(zhí)行SQL,并將執(zhí)行的結(jié)果存到result中 catch (SQLException errorinfo) /輸出錯誤日志return resawees ; /返回查詢結(jié)果 5.2 手機(jī)客戶端5.2.1 自定義適配器實(shí)現(xiàn)手機(jī)客戶端的主要功能之一是接受大量的數(shù)據(jù)信息并加以處理,然后呈現(xiàn)給用戶,所以需要使用到大量的ListView。自定義適配器能夠使ListView中的數(shù)據(jù)按照開發(fā)者的愿意進(jìn)行顯示給用戶,這樣使界面設(shè)計(jì)變得合理美觀。訂單界面如圖5-1所示。自定義適配器實(shí)現(xiàn)之前需要開發(fā)者提前設(shè)計(jì)好一條數(shù)據(jù)的顯示布局,自定義適配器的實(shí)現(xiàn)代碼如下: /自定義適配器繼承BaseAdapter并優(yōu)化內(nèi)部方法public class MyRentalCarStyleAdapter extends BaseAdapter /父類構(gòu)造函數(shù)調(diào)用、申明需要的變量 /重寫方法獲取對應(yīng)數(shù)據(jù)集中的指定的值public View getView(int myweizhi, View myshitu, ViewGroup getmyparent) if ( myshitu = null ) myshitu = LayoutInflater.from(context).inflate(R.layout.myadapter,null); /用來分析緩存是否存在,不存在的話,則解析xml Myyouhua youhua = mykongzhi(myshitu, myweizhi); /將數(shù)據(jù)內(nèi)容放入View存儲器中g(shù)etviewdeshuju(youhua, myweizhi); /把View存儲器中對應(yīng)值顯示return myshitu; /返回View信息private void getviewdeshuju(Myyouhua myshitu, int myweizhi) final CarBean mendiancar = list.get(myweizhi); /獲取列表中指定索引對應(yīng)id的數(shù)據(jù)放入對象中myshitu.text_style.setText(車型 + mendiancar.getStyle(); /獲取對象中對應(yīng)屬性的值并在控件上顯示出來 圖5-1 訂單界面5.2.2 推送消息的獲取從推送Web端推送用戶感興趣的信息,讓用戶長時間保持對軟件的關(guān)注度。具體實(shí)現(xiàn)需要在客戶端自定義廣播接收器,用來接受推送過來的信息并打印出來,同時在配置文件中加入推送需要的權(quán)限。消息推送界面如圖5-2所示。推送消息內(nèi)容獲取的實(shí)現(xiàn)代碼如下:private static String getinformation(Bundle getbundle) StringBuilder myonegetsb = new StringBuilder(); /實(shí)例化對象for (String mykey : getbundle.keySet() /遍歷取得的推送信息if (mykey.equals(JPushInterface.EXTRA_NOTIFICATION_ID) /判斷當(dāng)通知欄傳過來的值 /拼接獲取的信息else if(mykey.equals(JPushInterface.EXTRA_CONNECTION_CHANGE) /判斷當(dāng)連接狀態(tài)發(fā)生變化傳過來的值 /拼接獲取的信息 else /拼接獲取其他狀態(tài)的信息return myonegetsb .toString(); /返回得到的信息 圖5-2 消息推送界面5.2.3 客戶端AsyncTask請求使用AsyncTask異步任務(wù)實(shí)現(xiàn)向后臺請求數(shù)據(jù)訪問,在后臺運(yùn)行,不占用UI主線程。用戶進(jìn)行個人信息查看,進(jìn)入界面需要調(diào)用AsyncTask。用戶信息界面見如5-3所示。具體實(shí)現(xiàn)代碼如下:private class dome extends AsyncTask /三個泛型參數(shù),分別為輸入?yún)?shù),任務(wù)執(zhí)行進(jìn)度和返回結(jié)果的類型protected String doInBackground(String. params) / 此方法在onPreExecute之后執(zhí)行,在后臺執(zhí)行,這里不能對UI進(jìn)行操作String mygetlongresult = null; /聲明返回值對象try /WebService的命名空間和調(diào)用方法名SoapObject myrequ= new SoapObject(strNameSpace, strMethodName); / 指定WebService的命名空間和調(diào)用的方法名myrequ.addProperty( name , name ); /將參數(shù)放入request中傳給后臺調(diào)用的方法elp.bodyOut = myrequ; /傳入的協(xié)議和一些頭文件申明HttpTransportSE httpse = new HttpTransportSE( strUrl ); /實(shí)例化HttpTransportSE對象httpse .call(action, elp); /用HttpTransportSE的call方法來實(shí)現(xiàn)WebService方法的操作if (!elp.getResponse().equals(null) /使用getResponse獲得返回的值并判斷返回值是否為null /取出返回結(jié)果 catch (Exception e) / 輸出錯誤日志return mygetlongresult ; /返回rensult的值 圖5-3 用戶信息界面5.2.4 定位實(shí)現(xiàn)在系統(tǒng)設(shè)計(jì)開發(fā)過程中需要充分考慮到用戶使用軟件的方便性,挖掘系統(tǒng)的邊緣功能,在軟件中使用定位功能有利于用戶快速獲取自己的位置,然后根據(jù)自己所在位置選擇最佳門店。定位由GPS定位和網(wǎng)絡(luò)定位來獲取,高德地圖將之封裝在SDK中,通過調(diào)用高德地圖提供的接口獲取定位地址信息。自動定位界面如圖5-4所示。定位實(shí)現(xiàn)代碼如下:mdingwei= new AMapLocationClientOption(); /實(shí)例化對象mdingwei.setNeedAddress(true); /設(shè)置返回定位之后的地址信息mdingwei.setOnceLocation(true); /設(shè)置定位執(zhí)行一次userclient.setLocationOption(mdingwei); /將設(shè)置的參數(shù)加載到客戶端userclient.startLocation(); /開啟定位接收定位結(jié)果:getdingwei.getLocationType(); /獲取定位來源,是GPS還是根據(jù)網(wǎng)絡(luò)定位getdingwei.getCountry() ; /獲取國家信息getdingwei.getProvince(); /獲取省份信息getdingwei.getCity(); /獲取城市信息getdingwei.getDistrict() ; /獲取城區(qū)信息getdingwei.getStreet(); /獲取街道信息 /獲取信息拼接顯示 圖5-4 自動定位界面5.3 瀏覽器服務(wù)端5.3.1 查詢實(shí)現(xiàn)從客戶端通過AsyncTask發(fā)送數(shù)據(jù)請求,服務(wù)端接收到請求,對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行查詢并將查詢結(jié)果封裝成JSON類型的數(shù)據(jù)返回給客戶端。查詢代碼如下:ListMap cunchushujulist; /申明變量cunchushujulist =jdbcTemplate.queryForList(select * from car_table where myflagdeas=0 and fffsfdys=?, fffsfdys); /使用spring的jdbcTemplate查詢數(shù)據(jù)庫return JSONArray.toJSONString(cunchushujulist ); /將查詢結(jié)果分裝成JSON類型并返回5.3.2 新增實(shí)現(xiàn)管理員通過瀏覽器服務(wù)端登入系統(tǒng),對數(shù)據(jù)庫中的每一個功能模塊進(jìn)行維護(hù)和更新。后臺管理界面如圖5-5所示。新增實(shí)現(xiàn)代碼如下:public void addmendian( String useidname , String usepwd) /聲明變量try DB mydbmodel=new DB(); /創(chuàng)建db對象sql=insert into car_table( useidname , usepwd); /編寫SQL語句mydbmodel.executeUpdate(sql); /更新數(shù)據(jù)庫中的信息mydbmodel.close(); /關(guān)閉DB連接catch (Exception e) /拋出異常信息 圖5-5 后臺管理界面6 系統(tǒng)測試6.1 系統(tǒng)測試的目的及意義系統(tǒng)測試是程序的一種執(zhí)行過程,是為了盡可能多的發(fā)現(xiàn)系統(tǒng)中存在的問題,及時更正這些問題,減少軟件開發(fā)的過程和后期維護(hù)的過程,將軟件的錯誤密度降到最低,同時系統(tǒng)測試也能夠提高軟件的可靠性、穩(wěn)定性、節(jié)約經(jīng)濟(jì)資源、改善用戶體驗(yàn),這符合系統(tǒng)開發(fā)的最初要求。6.2 客戶端功能測試6.2.1 登錄功能測試用戶登錄系統(tǒng)需要做先行性檢測,查看用戶是否正確填寫用戶名和密碼,然后根據(jù)填寫的信息與數(shù)據(jù)庫中表存儲的信息對比,根本用戶的輸入的具體信息系統(tǒng)給出用戶不同的錯誤報(bào)告。經(jīng)過多次的測試,測試結(jié)果和目標(biāo)結(jié)果相吻合。測試結(jié)果見表6-1。表6-1 登錄功能測試用戶名密碼預(yù)期結(jié)果測試結(jié)果是否符合空123用戶不能為空!用戶不能為空!是123空密碼不能為空!密碼不能為空!是11111111用戶不存在!用戶不存在!是1231111密碼錯誤!密碼錯誤!是123123成功進(jìn)入主界面成功進(jìn)入主界面是6.2.2 租車功能測試用戶可以在此界面進(jìn)行網(wǎng)絡(luò)租車,可以選擇租車的時間和門店,還車的時間門店等,用戶必須先選擇需要租車的門店,然后根據(jù)租車門店中現(xiàn)有的車型選擇自己需要的車型,在提交訂單的時候,會根據(jù)用戶選擇的天數(shù)來自動計(jì)算需要的金額顯示給用戶,讓用戶確定是否下單。經(jīng)過多次的測試,測試結(jié)果和目標(biāo)結(jié)果相吻合。測試結(jié)果見表6-2。表6-2 租車功能測試操作預(yù)期結(jié)果是否符合在選擇租車地址前選擇租車型號出現(xiàn)提示信息,提示先選擇租車地址是先選擇租車地址,根據(jù)地址選擇租車型號,選擇還車地址等信息點(diǎn)擊完成提交訂單顯示訂單已提交是6.2.3 用戶信息測試用戶進(jìn)入此界面可以直接看到個人的詳細(xì)信息,能夠進(jìn)行金額的充值,點(diǎn)擊修改按鈕能修改密碼。經(jīng)過多次的測試,測試結(jié)果和目標(biāo)結(jié)果相吻合。測試結(jié)果見表6-3。表6-3 用戶信息測試操作預(yù)期結(jié)果是否符合點(diǎn)擊進(jìn)入用戶界面進(jìn)入用戶界面可以看到用戶信息是點(diǎn)擊充值金額,充值金額自動刷新界面,看到個人賬戶金額增加是點(diǎn)擊修改密碼,進(jìn)入修改賬戶,輸入錯誤舊密碼提示消息,舊密碼是否正確是舊密碼正確,新密碼不相同出現(xiàn)提示消息,提示用戶兩次密碼有誤是舊密碼正確,新密碼正確成功修改密碼是6.2.4 訂單功能測試用戶可以手動滑動界面或者點(diǎn)擊不同的按鈕,在三個子頁面可以來回切換。用戶進(jìn)去界面直接顯示所有訂單。點(diǎn)擊查看未完成訂單,對未完成訂單進(jìn)行完成或者退訂操作。點(diǎn)擊完成訂單可以對完成訂單做刪除操作。經(jīng)過多次的測試,測試結(jié)果和目標(biāo)結(jié)果相吻合。測試結(jié)果見表6-4。表6-4 訂單功能測試操作預(yù)期結(jié)果是否符合進(jìn)入訂單界面直接顯示全部訂單進(jìn)去訂單界面顯示全部訂單是手滑或者點(diǎn)擊按鈕切換訂單界面的完成界面,未完成界面可以顯示已完成訂單和未完成訂單是在完成界面點(diǎn)擊一條數(shù)據(jù)進(jìn)行刪除成功刪除這條數(shù)據(jù)是在未完成界面點(diǎn)擊取消訂單成功取消訂單是在未完成界面點(diǎn)擊完成訂單訂單狀態(tài)變?yōu)橥瓿捎唵问?.2.5 邊緣功能測試系統(tǒng)邊緣性的功能有分享功能和定位功能。經(jīng)過多次的測試,測試結(jié)果和目標(biāo)結(jié)果相吻合。測試結(jié)果見表6-5。表6-5 邊緣功能測試操作預(yù)期結(jié)果是否符合點(diǎn)擊主界面的分享按鈕,選擇分享到QQ空間分享軟件到QQ空間并讓其他用戶看到是在查看門店中點(diǎn)擊定位自己的位置在地圖中成功定位到自己的位置是6.3 后臺功能測試管理員登錄管理員端,可以查看所有的功能模塊。對相應(yīng)的模塊進(jìn)行操作。經(jīng)過多次的測試,測試結(jié)果和目標(biāo)結(jié)果相吻合。測試結(jié)果見表6-6。表6-6 后臺功能測試操作預(yù)期結(jié)果是否符合輸入管理員用戶名和密碼進(jìn)入后臺主界面是點(diǎn)擊汽車管理模塊,新增、刪除、修改汽車信息新增、刪除、修改汽車信息是點(diǎn)擊門店管理模塊,新增、刪除、修改門店信息新增、修改、刪除門店信息是點(diǎn)擊訂單管理模塊,查看所有訂單,輸入某一用戶姓名,查看某一用戶訂單信息查看所有的用戶的訂單信息,根據(jù)用戶名能查看一位用戶訂單信息是點(diǎn)擊用戶管理模塊,查看所有用戶,輸入某一用戶查詢并進(jìn)行修改刪除可以查看所有用戶信息,根據(jù)用
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 談?wù)剬W(xué)習(xí)的意義議論文類型作文(11篇)
- 成長的點(diǎn)滴感悟抒情的作文12篇范文
- 2025年成人教育學(xué)習(xí)計(jì)劃
- 2025年手機(jī)鋰電池項(xiàng)目市場調(diào)查研究報(bào)告
- 餐飲業(yè)外賣平臺運(yùn)營與配送優(yōu)化方案
- 童話森林里的奇遇記充滿想象的童話故事作文(10篇)
- 2025年工藝茶墊項(xiàng)目市場調(diào)查研究報(bào)告
- 海洋工程安全生產(chǎn)心得體會
- 食堂配送崗位職責(zé)及工作流程解析
- 讀湯姆索亞歷險記有感700字(10篇)
- 安全生產(chǎn)法律法規(guī)匯編(2025版)
- 50項(xiàng)護(hù)理技術(shù)操作流程及評分標(biāo)準(zhǔn)
- 2017年高考數(shù)學(xué)試卷(文)(北京)(空白卷)
- 數(shù)字化管理師復(fù)習(xí)測試卷附答案
- 文化節(jié)慶活動審批管理制度
- 2025年軟件資格考試電子商務(wù)設(shè)計(jì)師(中級)(基礎(chǔ)知識、應(yīng)用技術(shù))合卷試卷與參考答案
- 【MOOC】大學(xué)生健康教育與自衛(wèi)防身-山東大學(xué) 中國大學(xué)慕課MOOC答案
- 北京工業(yè)大學(xué)耿丹學(xué)院《國際金融》2021-2022學(xué)年第一學(xué)期期末試卷
- 草原病蟲害防治技術(shù)研究
- 《電力市場概論》 課件 張利 第6、7章 電力市場與輸電網(wǎng)絡(luò)、發(fā)電投資分析
- 大學(xué)生專業(yè)技能培訓(xùn)課程
評論
0/150
提交評論