基于Android的同城交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
《基于Android的同城交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于Android的同城交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文(36頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 本科生畢業(yè)論文基于Android的同城交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) The Design and Implementation of TradeBetweenCities Based on Android 所在院(系):信息工程學(xué)院 學(xué)生姓名: 指導(dǎo)老師: 研究起止日期:二XX年十月至二XX年十月 【摘要】自第一款智能手機(jī)Simon的誕生,人類的生活中已經(jīng)離不開(kāi)智能手機(jī)。而在智能手機(jī)背后多種強(qiáng)大的操作系統(tǒng)中,Android無(wú)疑是發(fā)展最快的操作系統(tǒng),在用戶不斷提升的生活品質(zhì)的背景中,基于Android系統(tǒng)的App也越來(lái)越多,因此,通過(guò)App完成一些個(gè)人需求已經(jīng)成為潮流?;谶@樣的背景,本次設(shè)計(jì)就圍繞百
2、姓日常需求開(kāi)發(fā)了一款同城交易App,在這款A(yù)pp中用戶可以將需求發(fā)布出去,也可以搜尋自己想要的東西在線交易,通過(guò)這樣一個(gè)交易平臺(tái)可以免去日常的四處奔波,簡(jiǎn)化傳統(tǒng)的交易過(guò)程,提高了交易效率。在本文中讀者可以詳細(xì)了解到此款A(yù)pp的開(kāi)發(fā)過(guò)程。【關(guān)鍵詞】 Android; 同城交易; 開(kāi)發(fā)技術(shù); 系統(tǒng)功能【Abstract】When Simon, the first smart phone, came into the world, smart phone is closely bound up with our life. In smart phone, there are a variety of
3、 powerful operating systems. Android is undoubtedly one of the fastest growing operating system. The quality of life is getting better, at the same time; the more Apps (application) are developed. So, complete some of the personal needs have become the trend through Apps.With the background, the des
4、ign is a local transaction APP that based on peoples daily life. People can use the APP to release their demands out and seek for things that they need. It is online trading. The trading platform will bring us convenience and simplify the traditional trading progress, also can enhance the efficiency
5、. In the writings, readers can acquaintance the development process of this App detailed.【Key words】Android; tradebetweencities; development technology; system function目錄1 引言11.1 Android簡(jiǎn)介11.2 開(kāi)發(fā)背景11.3 現(xiàn)狀分析21.4 開(kāi)發(fā)意義22 系統(tǒng)開(kāi)發(fā)工具及開(kāi)發(fā)技術(shù)42.1 開(kāi)發(fā)工具及平臺(tái)42.1.1 Eclipse42.1.2 SQLyog42.1.3 SharpDevelop42.2 開(kāi)發(fā)技術(shù)42.2
6、.1 MVC框架42.2.2 Activity生命周期52.2.3 Android的四大組件73 系統(tǒng)需求分析83.1系統(tǒng)及需求分析83.1.1 系統(tǒng)功能分析83.1.2 系統(tǒng)性能分析83.2 系統(tǒng)可行性研究93.2.1 技術(shù)可行性93.2.2 經(jīng)濟(jì)可行性93.2.3 操作可行性93.3 系統(tǒng)流程圖104 系統(tǒng)總體分析114.1 系統(tǒng)功能設(shè)計(jì)114.2 數(shù)據(jù)庫(kù)設(shè)計(jì)124.2.1 數(shù)據(jù)庫(kù)概念設(shè)計(jì)124.2.2 系統(tǒng)實(shí)體圖124.2.3 數(shù)據(jù)字典145 系統(tǒng)詳細(xì)設(shè)計(jì)165.1 登錄模塊的設(shè)計(jì)與實(shí)現(xiàn)165.1.1注冊(cè)功能的實(shí)現(xiàn)165.1.2 登錄功能的實(shí)現(xiàn)195.1.3 密碼找回與修改的功能實(shí)現(xiàn)19
7、5.2 系統(tǒng)列表獲取模塊的設(shè)計(jì)與實(shí)現(xiàn)195.3 詳細(xì)信息中打電話發(fā)短信功能的設(shè)計(jì)與實(shí)現(xiàn)215.3.1 打電話功能的實(shí)現(xiàn)225.3.2 發(fā)短信功能的實(shí)現(xiàn)225.4 消息發(fā)布模塊的設(shè)計(jì)與實(shí)現(xiàn)235.5 個(gè)人中心模塊的設(shè)計(jì)與實(shí)現(xiàn)256 系統(tǒng)測(cè)試276.1 軟件測(cè)試原則和技術(shù)276.2 測(cè)試用例設(shè)計(jì)277 總結(jié)29參考文獻(xiàn)30致謝311 引言時(shí)代變遷,人類的生活方式越來(lái)越智能,這也促使了智能手機(jī)這一領(lǐng)域的迅猛發(fā)展,如今,手機(jī)已經(jīng)超越了電腦電視在人們心中的地位。2007年谷歌發(fā)布Android操作系統(tǒng)之后使智能手機(jī)越來(lái)越受歡迎,基于Android平臺(tái)的App越來(lái)越多,它們正在慢慢地融入到人們的生活中。通
8、過(guò)這些App,人們可以網(wǎng)上購(gòu)物,在線導(dǎo)航,在線閱讀,好友互動(dòng)等。1.1 Android簡(jiǎn)介Android是一種基于Linux系統(tǒng)的移動(dòng)技術(shù)平臺(tái)。Android系統(tǒng)的特點(diǎn)是自由且開(kāi)放源代碼,所以對(duì)于蜂窩技術(shù)和移動(dòng)計(jì)算機(jī)來(lái)說(shuō),Android系統(tǒng)給它們提供了Linux操作系統(tǒng)的能力和可移植性,以及標(biāo)準(zhǔn)高級(jí)語(yǔ)言和API的可靠性和可移植性,外界評(píng)論說(shuō)Android是“開(kāi)放源碼的革命”,是革命的一部分1。Android最早是由Andy Rubin開(kāi)發(fā)出來(lái),后來(lái)被谷歌收購(gòu),再由谷歌在2007年與多個(gè)制造商共同發(fā)布,隨著安卓版本的不斷更新,它的市場(chǎng)份額也越來(lái)越高,世界采用這一系統(tǒng)的移動(dòng)設(shè)備已達(dá)到數(shù)十億臺(tái)。1.
9、2 開(kāi)發(fā)背景很多年前的手機(jī)除了打電話發(fā)短信幾乎沒(méi)有什么新功能,手機(jī)上能有計(jì)算器,電子書(shū),音樂(lè)播放器這類東西已經(jīng)很稀奇了。如今,Android系統(tǒng)的已被各行業(yè)廣泛使用,智能手機(jī)的App使用率也達(dá)到了空前的高度,人們的生活也逐步電子化,現(xiàn)在學(xué)者不用背著各種書(shū)面資料,我們有電子書(shū);出門(mén)在外不用再擔(dān)心找不到路,我們有掌上地圖;購(gòu)買(mǎi)物品不用再特地跑去市場(chǎng),我們可以網(wǎng)上購(gòu)物這種生活方式給人們的生活帶來(lái)了極大的方便,人們也越來(lái)越以來(lái)這種方式。在未來(lái),我們的生活只會(huì)越來(lái)越智能。根據(jù)人們當(dāng)下對(duì)生活的所需我開(kāi)發(fā)了這一款同城交易App。首先,現(xiàn)在外出打工的年輕人很多,他們需要租房子住,然而想找到一個(gè)自己心儀的住處并
10、不容易,這款A(yù)pp就為這類人群提供了方便,隨時(shí)隨地看房,無(wú)需到處奔波。其次,有很多想要找工作的人找不到工作時(shí)會(huì)選擇中介所為自己推薦工作,然而在找到工作后會(huì)想自己索要不低的中介費(fèi)用,同樣在這款A(yù)pp中這類人群可以找到適合自己的崗位,方便快捷。另外,還可以為人們提供二手物品,寵物,家政服務(wù),買(mǎi)房買(mǎi)車(chē)等一系列的服務(wù),從人力物力的節(jié)省角度來(lái)講還是一款很有價(jià)值的交易軟件。1.3 現(xiàn)狀分析由于人類生活節(jié)奏越來(lái)越快,為了某一件物品花費(fèi)大量的時(shí)間去尋找、比對(duì)是不可能的。在這種背景下,越來(lái)越多的在線交易軟件出現(xiàn)。為人所知的有淘寶、京東、蘇寧易購(gòu)等交易系統(tǒng),為了客觀、準(zhǔn)確的描述當(dāng)前在線交易系統(tǒng)的研究現(xiàn)狀,簡(jiǎn)要分析
11、一下這些交易系統(tǒng)。不管是淘寶還是京東,這些網(wǎng)站都有其強(qiáng)大的用戶群,只要是能訪問(wèn)互聯(lián)網(wǎng)的機(jī)器都能訪問(wèn)到這些系統(tǒng),區(qū)域分布廣泛。同時(shí),這些系統(tǒng)中所涉及到的交易物品的種類非常多,就淘寶來(lái)講,它本身就融入了很多個(gè)體商家,每個(gè)商家經(jīng)營(yíng)的物品種類都有所差別。這些系統(tǒng)為人類的生活帶來(lái)了極大的方便,不用為了自然因素或者地域差別而擔(dān)心買(mǎi)不到商品,只要能登錄到這些交易系統(tǒng)就能滿足需求。另外,在支付寶的支持下,這些交易軟件都可以以網(wǎng)銀轉(zhuǎn)賬的方式完成付款,快捷方便,支付完成后再由賣(mài)家以快遞的方式郵寄到用戶手中。整個(gè)過(guò)程不需要花費(fèi)太多的時(shí)間,滿足了當(dāng)下眾多用戶的需求。然而這些系統(tǒng)也存在一些弊端,客戶只能通過(guò)圖片的形式了
12、解物品,很少能達(dá)到實(shí)物鑒定的要求,尤其是一些奢侈品,用戶對(duì)商品質(zhì)量就很難辨別,有很多用戶會(huì)收到假冒偽劣產(chǎn)品,消費(fèi)者的利益得不到保障,雖然可以退貨或者換貨,但是這樣就違反了節(jié)約交易時(shí)間,提高交易效率的初衷。通過(guò)對(duì)當(dāng)前存在的交易系統(tǒng)的研究與剖析,我們能更加深刻了解當(dāng)前市場(chǎng)所存在的交易系統(tǒng)發(fā)展形勢(shì)和在一些功能方面存在的問(wèn)題。因此,在本系統(tǒng)的設(shè)計(jì)過(guò)程中,設(shè)計(jì)者對(duì)同城交易系統(tǒng)需求進(jìn)行認(rèn)真的分析和設(shè)計(jì),遵循傳統(tǒng)在線交易的原則,使用當(dāng)前主流技術(shù)對(duì)其進(jìn)行優(yōu)化。特別對(duì)在功能方面做了改進(jìn),使該系統(tǒng)更符合當(dāng)前用戶需求,比如說(shuō)著重同城交易,用戶可以選擇在自己所處的城市中選擇交易對(duì)象,這樣就實(shí)現(xiàn)了交易雙方面對(duì)面驗(yàn)貨的需
13、求。1.4 開(kāi)發(fā)意義社會(huì)的發(fā)展速度也帶動(dòng)著人類的生活節(jié)奏,從對(duì)人類的生活影響來(lái)說(shuō),這款軟件有以下幾個(gè)方面值得深入研究:(1)通過(guò)在線交易的方式可以節(jié)省大量時(shí)間和金錢(qián),這是最大的優(yōu)勢(shì)。時(shí)間方面主要是相對(duì)于獲取需求的人群,他們可以節(jié)約四處尋找自己所需的時(shí)間,不用再像無(wú)頭蒼蠅,這款軟件將需求進(jìn)行了分類,簡(jiǎn)潔明了,可以供人群快速找到自己的目標(biāo)。金錢(qián)方面主要相對(duì)于提供需求的人群,他們可以將自己需要出售或出借的物品直接發(fā)布到網(wǎng)絡(luò)上,免去了找中介等其他方式所需要支付的服務(wù)費(fèi)。(2)這個(gè)App安裝使用也很簡(jiǎn)單,只要是一款智能手機(jī),符合版本等級(jí),下載后就能安裝,安裝后連入互聯(lián)網(wǎng)就可以登錄使用。(3)工作效率高,
14、所有數(shù)據(jù)都通過(guò)數(shù)據(jù)庫(kù)獲取,簡(jiǎn)潔明了。(4)安全性高,所有用戶都是通過(guò)手機(jī)號(hào)注冊(cè),登錄時(shí)需要驗(yàn)證密碼,密碼丟失的情況下可以通過(guò)手機(jī)號(hào)找回密碼,然后修改密碼。(5)可用范圍廣,App中提供的交易種類較多,適合各類人群。相對(duì)于傳統(tǒng)的交易模式來(lái)看,這款A(yù)pp是存在優(yōu)勢(shì)的。但為了更好的讓此系統(tǒng)服務(wù)大眾還需要更多了解人們生活需求和市場(chǎng)需求。2 系統(tǒng)開(kāi)發(fā)工具及開(kāi)發(fā)技術(shù)軟件一般的產(chǎn)生是建立在某種程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)上,這些程序語(yǔ)言一般是借助軟件開(kāi)發(fā)工具進(jìn)行編寫(xiě)的。本章主要介紹這款同城交易軟件所涉及到的開(kāi)發(fā)工具以及相關(guān)技術(shù)。2.1 開(kāi)發(fā)工具及平臺(tái)本系統(tǒng)采用的開(kāi)發(fā)工具為Eclipse和數(shù)據(jù)庫(kù)SQLyog以及編輯器S
15、harpDevelop。通過(guò)在SharpDevelop中編寫(xiě)數(shù)據(jù)庫(kù)語(yǔ)句,增刪改查等操作來(lái)實(shí)現(xiàn)交易系統(tǒng)的各個(gè)功能。2.1.1 EclipseEclipse是Java的集成開(kāi)發(fā)環(huán)境。它包括了插件開(kāi)發(fā)環(huán)境PDE,這個(gè)組件的目的是擴(kuò)展Eclipse的開(kāi)發(fā)人員,因?yàn)殚_(kāi)發(fā)人員可以用它來(lái)構(gòu)建與Eclipse環(huán)境無(wú)縫集成的工具。每個(gè)開(kāi)發(fā)者都有同等的發(fā)揮場(chǎng)所給Eclipse提供插件以及給用戶提供統(tǒng)一的集成環(huán)境。當(dāng)然Eclipse最突出的優(yōu)點(diǎn)是它支持當(dāng)前幾乎所有的主流平臺(tái),包括Windows,Linux,Solaris,HP-UX和AIX,這大大減低了開(kāi)發(fā)跨平臺(tái)的軟件的難度2。2.1.2 SQLyogSQLyog
16、由Webyog出品,這是一款使用方便、快速簡(jiǎn)潔的圖形化管理SQL數(shù)據(jù)庫(kù)的產(chǎn)品,通過(guò)它可以更方便的管理數(shù)據(jù)庫(kù)。相對(duì)于其他數(shù)據(jù)庫(kù)SQLyog有它特點(diǎn):編程方式是基于C+和MySQLAPI;使數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)同步更快捷;可以快速備份和還原數(shù)據(jù);支持的數(shù)據(jù)格式較多,比如XML、CSV、HTML等;可以批量運(yùn)行SQL腳本,節(jié)省時(shí)間。2.1.3 SharpDevelopSharpDevelop 給多種程序語(yǔ)言開(kāi)發(fā)提供了平臺(tái),包括C#、VB.NET和java,并且還支持多種語(yǔ)言界面。這個(gè)開(kāi)發(fā)工具的界面風(fēng)格與Office XP和VS.NET很相似,支持書(shū)寫(xiě)的代碼類型有C#,XML,HTML等,還可以對(duì)這些語(yǔ)言
17、提供彩色語(yǔ)法顯示,同時(shí)還能把彩色的代碼以HTML格式文件輸出。SharpDevelop向外開(kāi)放的所有源代碼,這一點(diǎn)對(duì)學(xué)習(xí)C#及規(guī)范軟件開(kāi)發(fā)很有幫助。2.2 開(kāi)發(fā)技術(shù)2.2.1 MVC框架MVC全名Model View Controller,它把一個(gè)應(yīng)用輸入,處理,輸出的過(guò)程分離成三種方式:Model、View、Controller,也就是說(shuō),將一個(gè)應(yīng)用分為三個(gè)層面:模型層,視圖層,控制層 。如圖2-1 MVC框架:圖2-1 MVC框架模型用來(lái)表示應(yīng)用程序核心,是應(yīng)用狀態(tài)及業(yè)務(wù)功能的封裝,通常是用于處理程序中數(shù)據(jù)邏輯的部分,比如在數(shù)據(jù)庫(kù)中存取數(shù)據(jù);視圖則是負(fù)責(zé)應(yīng)用程序中處理數(shù)據(jù)顯示的部分,一般來(lái)
18、說(shuō)是根據(jù)模型數(shù)據(jù)創(chuàng)建的;控制器通常處理用戶交互這一部分,用來(lái)從視圖將數(shù)據(jù)提取,控制用戶輸入,然后把數(shù)據(jù)發(fā)送給模型。View與Model有直接聯(lián)系,View可以直接調(diào)用Model查詢其狀態(tài)信息,當(dāng)Model的狀態(tài)發(fā)生改變時(shí),它就會(huì)直接通知View3。2.2.2 Activity生命周期Activity生命周期流程圖如圖2-2 生命周期:圖2-2 生命周期(1)啟動(dòng)Activity之后,系統(tǒng)會(huì)先調(diào)用onCreate()創(chuàng)建進(jìn)程,然后調(diào)用onStart()開(kāi)始執(zhí)行進(jìn)程,最后調(diào)用onResume()獲得用戶焦點(diǎn),Activity開(kāi)始運(yùn)行。(2)如果當(dāng)前Activity被另一個(gè)透明或者dialog樣式的
19、進(jìn)程覆蓋時(shí),系統(tǒng)會(huì)調(diào)用onPause方法,暫停當(dāng)前Activity的執(zhí)行。(3)當(dāng)前Activity恢復(fù)到前臺(tái)之后,系統(tǒng)會(huì)調(diào)用onResume方法,再次進(jìn)入運(yùn)行狀態(tài)。(4)如果當(dāng)前Activity跳轉(zhuǎn)到另外一個(gè)Activity界面之后,當(dāng)前Activity并不會(huì)銷(xiāo)毀,在系統(tǒng)調(diào)用onPause方法后會(huì)調(diào)用onStop方法,使進(jìn)程進(jìn)入停滯狀態(tài)。(5)當(dāng)用戶退出當(dāng)前Activity回到先前的Activity時(shí),系統(tǒng)會(huì)先調(diào)用onRestart方法重啟進(jìn)程,然后調(diào)用onStart方法執(zhí)行進(jìn)程,最后調(diào)用onResume方法再次運(yùn)行。(6)如果當(dāng)前Activity正處于上方第二種和第四種狀態(tài),但是系統(tǒng)內(nèi)存不
20、足,此時(shí)當(dāng)前的Activity將會(huì)被kill,當(dāng)用戶再次回到當(dāng)前Activity的時(shí)候?qū)⒃俅握{(diào)用onCreate方法,onStart方法以及onResume方法,重新進(jìn)入運(yùn)行狀態(tài)。(7)用戶結(jié)束當(dāng)前進(jìn)程時(shí),系統(tǒng)先調(diào)用onPause()方法,再調(diào)用onStop()方法停止進(jìn)程,最后調(diào)用onDestory()方法銷(xiāo)毀進(jìn)程,關(guān)閉當(dāng)前Activity。2.2.3 Android的四大組件Android四大組件有Activity,Service,Content Provider,Broadcast Receiver。(1)Activity:應(yīng)用與用戶交互是通過(guò)Activity實(shí)現(xiàn)的,Activity為系
21、統(tǒng)提供可視化界面,在新建了xml布局之后需在java文件中通過(guò)setContentView()方法來(lái)綁定布局。Android應(yīng)用中可以包含多個(gè)Activity,組成Activity棧,當(dāng)前運(yùn)行的Activity位于棧頂。最重要的是,所有Activity都必須在Manifest中注冊(cè)才能運(yùn)行。(2)Service:Service是一個(gè)單獨(dú)的組件,在主線程中運(yùn)行。Service不需要圖形界面,因?yàn)樗话阍诤笈_(tái)運(yùn)行,不需要與用戶進(jìn)行交互。它有自己獨(dú)立的生命周期:創(chuàng)建服務(wù),開(kāi)始服務(wù),銷(xiāo)毀服務(wù)。Service調(diào)用startService()啟動(dòng),調(diào)用stopService()結(jié)束服務(wù)??梢詾槠渌M件提供
22、后臺(tái)服務(wù)或者監(jiān)控其他組件的運(yùn)行狀態(tài),,比如說(shuō)播放歌曲的時(shí)候,雖然播放歌曲的界面被關(guān)閉了,但是歌曲還是在后臺(tái)播放;被關(guān)閉界面的App依然可以接收到推送消息。所有Service都必須在Manifest中進(jìn)行聲明。(3)Content Provider:Android中的Content Provider是一個(gè)傳輸數(shù)據(jù)的中間者,這個(gè)組件可以用來(lái)保存和獲取數(shù)據(jù),并公開(kāi)給其他應(yīng)用程序,因?yàn)锳ndroid沒(méi)有提供存儲(chǔ)區(qū)域,所以這是不同應(yīng)用程序間共享數(shù)據(jù)的唯一方式。它可以將一個(gè)應(yīng)用程序的指定數(shù)據(jù)集傳送給其他應(yīng)用程序,同時(shí)其他應(yīng)用也可以通過(guò)ContentResolver對(duì)象從內(nèi)容提供者中提取或存入數(shù)據(jù)。(4)B
23、roadcast Receiver:書(shū)面上來(lái)講就是廣播接收者??梢杂脕?lái)過(guò)濾外部事件,只響應(yīng)需要的外部事件或者數(shù)據(jù)。這個(gè)事件是沒(méi)有界面,可以通過(guò)啟動(dòng)activity或者service來(lái)響應(yīng)接收到的信息,也可以通過(guò)NotificationManager方法以燈光閃爍、震動(dòng)、聲音等形式通知用戶有信息,比如說(shuō)我們的手機(jī)收到短信等方面的處理。廣播接收者需要注冊(cè),注冊(cè)有兩種方式:動(dòng)態(tài)注冊(cè),當(dāng)注冊(cè)廣播的activity被關(guān)閉后,廣播就會(huì)停止;靜態(tài)注冊(cè),只要設(shè)備是處于被開(kāi)啟的狀態(tài),廣播就不會(huì)被關(guān)閉。3 系統(tǒng)需求分析本章節(jié)主要從系統(tǒng)的需求分析方面展開(kāi)陳述。3.1系統(tǒng)及需求分析3.1.1 系統(tǒng)功能分析為了是這款A(yù)
24、pp能更好的貼近人們的生活,提高交易效率,保證系統(tǒng)質(zhì)量。通過(guò)對(duì)傳統(tǒng)交易步驟的分析,以及對(duì)在線交易各流程的優(yōu)化,認(rèn)為在線交易系統(tǒng)應(yīng)具備以下功能。(1)用戶注冊(cè):用戶可以通過(guò)填寫(xiě)用戶昵稱,真實(shí)姓名,注冊(cè)手機(jī)號(hào)碼等信息進(jìn)行系統(tǒng)注冊(cè)。(2)用戶登錄:用戶輸入用戶名和密碼之后,通過(guò)數(shù)據(jù)庫(kù)驗(yàn)證后登錄系統(tǒng)。(3)列表獲?。哼@是系統(tǒng)的核心所在,系統(tǒng)會(huì)根據(jù)種類自動(dòng)調(diào)用數(shù)據(jù)庫(kù)中的數(shù)據(jù),將數(shù)據(jù)以列表的形式顯示在界面上,這樣用戶就可以根據(jù)自己的需要看到自己可以選擇的物品。(4)獲取物品詳情:但是將物品以列表的形式展現(xiàn)出來(lái)并不能讓用戶對(duì)物品了解詳細(xì),點(diǎn)開(kāi)列表之后需要將物品的詳細(xì)信息展現(xiàn)出來(lái),讓用戶更好了解詳情。(5)打
25、電話,發(fā)短信:當(dāng)物品的詳細(xì)信息被獲取之后,如果滿足用戶要求,用戶可以直接點(diǎn)擊打電話或者發(fā)短信的按鈕聯(lián)系賣(mài)家,快捷方便。(6)發(fā)布信息:這個(gè)功能模塊在整個(gè)系統(tǒng)中也非常重要,用戶可以根據(jù)類型選擇要發(fā)布的種類,在發(fā)布界面中發(fā)布物品的詳情,圖片和價(jià)錢(qián)。(7)用戶個(gè)人信息查看及頭像修改:在這個(gè)系統(tǒng)中由于不能在數(shù)據(jù)庫(kù)直接添加頭像,所以在用戶登錄成功之后可以在前臺(tái)修改,修改成功之后數(shù)據(jù)庫(kù)中會(huì)有顯示。(8)用戶個(gè)人動(dòng)態(tài)獲?。涸谶@個(gè)系統(tǒng)中,用戶可以看到一些跟自己有關(guān)的信息,比如留言列表,個(gè)人發(fā)布的消息,個(gè)人收藏的消息,個(gè)人訂閱。(9)賬戶密碼修改和找回:在登錄的過(guò)程中,用戶難免會(huì)出現(xiàn)忘記密碼的情況,在這種情況下
26、可以通過(guò)當(dāng)時(shí)注冊(cè)時(shí)的手機(jī)號(hào)找回密碼,找回密碼后也可以修改密碼。(10)APP詳情獲?。涸趥€(gè)人中心,用戶可以看到這款A(yù)PP的版本信息,用戶也可以給這款系統(tǒng)提意見(jiàn)。3.1.2 系統(tǒng)性能分析系統(tǒng)功能分析是軟件系統(tǒng)開(kāi)發(fā)的基礎(chǔ)要求,而系統(tǒng)性能分析可以判定產(chǎn)品的質(zhì)量?,F(xiàn)實(shí)中,人們一般會(huì)對(duì)系統(tǒng)功能比較關(guān)注,比較關(guān)心系統(tǒng)可以實(shí)現(xiàn)什么需求,很少關(guān)注性能分析。但是性能分析是系統(tǒng)功能的拓展,它包含了系統(tǒng)響應(yīng)速率,處理請(qǐng)求的能力,數(shù)據(jù)安全等方面,通過(guò)對(duì)在線交易系統(tǒng)的性能分析和實(shí)際中會(huì)遇到的問(wèn)題,系統(tǒng)應(yīng)該滿足以下方面的性能要求:(1)并行處理用戶請(qǐng)求:這個(gè)系統(tǒng)中用戶通過(guò)賬戶密碼登錄對(duì)服務(wù)器進(jìn)行訪問(wèn)。因此,系統(tǒng)需要響應(yīng)多
27、個(gè)用戶的請(qǐng)求,支持多人訪問(wèn)。(2)響應(yīng)速度:對(duì)用戶的請(qǐng)求做出響應(yīng)的速度是衡量系統(tǒng)行呢呢過(guò)好壞的標(biāo)準(zhǔn)之一。在線交易系統(tǒng)對(duì)響應(yīng)速度的要求很高,最好不要超過(guò)五秒。(3)數(shù)據(jù)安全:因?yàn)檫@款系統(tǒng)涉及到個(gè)人的交易情況,個(gè)人中心有一些用戶信息,要求系統(tǒng)有較好的保密功能,安全性要求極高。3.2 系統(tǒng)可行性研究可行性研究的展開(kāi)主要有兩個(gè)目的:研究項(xiàng)目“做還是不做”以及制定項(xiàng)目的“初步方案”,它主要是對(duì)問(wèn)題的定義進(jìn)行分析,研究過(guò)程中需要初步確立項(xiàng)目的目標(biāo)和規(guī)模,問(wèn)題定義之后要導(dǎo)出系統(tǒng)的邏輯模型,然后才能確定可選的系統(tǒng)方案。3.2.1 技術(shù)可行性技術(shù)可行性是可行性分析中最關(guān)鍵并且也是最難決斷的問(wèn)題4。用戶通過(guò)Web
28、Service的數(shù)據(jù)傳遞實(shí)現(xiàn)登錄,并獲取動(dòng)態(tài)列表以及發(fā)布消息,這些是這個(gè)系統(tǒng)的關(guān)鍵所在。用戶登錄之后,系統(tǒng)會(huì)從數(shù)據(jù)庫(kù)調(diào)用相應(yīng)的數(shù)據(jù),通過(guò)前臺(tái)界面展現(xiàn)在用戶的面前,從而實(shí)現(xiàn)用戶選擇交易物品的功能。該系統(tǒng)工作核心就是WebService負(fù)責(zé)后臺(tái),將數(shù)據(jù)庫(kù)中的數(shù)據(jù)傳遞給前臺(tái);前臺(tái)就是提供功能,顯示界面;數(shù)據(jù)庫(kù)用來(lái)存儲(chǔ)數(shù)據(jù)。這些操作就是都過(guò)SharpDevelop,Eclipse和數(shù)據(jù)庫(kù)SQLyog完成,在此方面這些技術(shù)都是成熟而且可行的。3.2.2 經(jīng)濟(jì)可行性從技術(shù)可行性來(lái)看,這款A(yù)pp的開(kāi)發(fā)周期在一個(gè)月左右。開(kāi)發(fā)成本并不高,一般計(jì)算機(jī)的硬件和軟件都是能承受的。通俗的來(lái)講,只要具備一臺(tái)高性能的計(jì)算機(jī)
29、和暢通的網(wǎng)絡(luò)就可以實(shí)現(xiàn),在App的安裝,維護(hù)成本也不會(huì)很高。3.2.3 操作可行性如今,手機(jī)已經(jīng)是一種很普遍的通訊設(shè)施,只要是一款智能手機(jī)就可以安裝這款A(yù)pp,只要是會(huì)使用手機(jī)的人就能使用這款A(yù)pp,操作很方便。3.3 系統(tǒng)流程圖如圖3-1 系統(tǒng)流程圖圖3-1 系統(tǒng)流程圖用戶開(kāi)啟App后,如果沒(méi)有賬號(hào)就注冊(cè)賬號(hào),如果有賬號(hào)可以登陸。登錄過(guò)程中如果忘記密碼,可以通過(guò)找回密碼將密碼找回,如果不能找回密碼可以重新注冊(cè)賬號(hào)。用戶也可以在登錄界面修改密碼,如果修改密碼成功就可以登錄,如果修改密碼不成功就可以找回密碼。登錄成功之后就可以在系統(tǒng)中進(jìn)行一系列的操作。操作成功之后可以退出登錄。4 系統(tǒng)總體分析4
30、.1 系統(tǒng)功能設(shè)計(jì)為了更好地提高系統(tǒng)的性能,必須先將系統(tǒng)功能模塊進(jìn)行分類,比如說(shuō)這款A(yù)pp的主要功能模塊分為三種:登錄模塊,列表獲取模塊,消息發(fā)布模塊,個(gè)人中心模塊。每個(gè)模塊下有它詳細(xì)的功能,如圖4-1 系統(tǒng)功能圖:同城交易系統(tǒng)消息發(fā)布模塊登錄模塊列表獲取模塊意見(jiàn)反饋查看系統(tǒng)版本信息用戶頭像修改個(gè)人信息查看用戶個(gè)人發(fā)布列表用戶登錄用戶注冊(cè)密碼找回和修改物品信息列表用戶留言列表用戶收藏列表圖4-1 系統(tǒng)功能圖登錄模塊:(1)用戶注冊(cè):用戶安裝App后就會(huì)顯示登錄界面,當(dāng)沒(méi)有賬號(hào)密碼的時(shí)候用戶就需要進(jìn)行注冊(cè),根據(jù)界面輸入要求完成注冊(cè)信息,用戶需記住用戶名和密碼方便登錄。(2)用戶登錄:用戶有賬號(hào)之
31、后就可以輸入賬號(hào)和密碼進(jìn)行登錄,登錄之后就可以看到一些物品的信息發(fā)布。(3)密碼找回和修改:在這個(gè)模塊中如果忘記密碼就可以通過(guò)注冊(cè)時(shí)的手機(jī)號(hào)找回密碼,在指導(dǎo)原密碼的前提下可以修改密碼。列表獲取模塊:(1)物品信息列表:在登陸成功進(jìn)入首頁(yè)之后可以看到有八個(gè)類型的交易。用戶點(diǎn)進(jìn)去之后可以選擇自己想要的類型,點(diǎn)擊類型之后就會(huì)跳出響應(yīng)的物品列表。(2)用戶留言列表:在物品詳細(xì)信息中,用戶可以給對(duì)賣(mài)家留言,在留言列表中用戶可以看到自己給他人的留言,也可以看到他人給自己的留言。(3)用戶收藏列表:同樣,對(duì)于自己中意的物品可以收藏,以免日后再次查找。(4)用戶個(gè)人發(fā)布列表:在個(gè)人中心,可以點(diǎn)擊我的發(fā)布查看自
32、己所發(fā)布的信息,并對(duì)這些信息進(jìn)行刪除操作。消息發(fā)布模塊:消息發(fā)布模塊一共有12種類型的消息可以發(fā)布,用戶取所需進(jìn)行消息發(fā)布。個(gè)人中心模塊:(1)個(gè)人信息查看:用戶可以查看到自己的信息。(2)用戶頭像修改:登錄成功之后,用戶可以修改自己的頭像。(3)查看系統(tǒng)版本信息:在更多中,可以獲取App版本信息。(4)反饋意見(jiàn):用戶可以對(duì)App提出自己的見(jiàn)解。4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)4.2.1 數(shù)據(jù)庫(kù)概念設(shè)計(jì)數(shù)據(jù)庫(kù)庫(kù)設(shè)計(jì)也是系統(tǒng)開(kāi)發(fā)的核心工作。在這個(gè)系統(tǒng)中,數(shù)據(jù)庫(kù)中主要的實(shí)體有4種。用戶實(shí)體:(用戶ID,賬戶名稱,密碼,姓名,年齡,性別,手機(jī)號(hào),頭像)。消息實(shí)體:(消息ID,用戶ID,發(fā)表的時(shí)間,創(chuàng)建時(shí)長(zhǎng),消息內(nèi)
33、容,圖片,價(jià)格,類型)。消息收藏實(shí)體:(消息收藏事件的ID,用戶ID,被收藏的信息ID,收藏時(shí)間)。保潔申請(qǐng)的實(shí)體:(申請(qǐng)信息的ID,用戶ID,保潔時(shí)間,保潔地址,用戶手機(jī)號(hào))。4.2.2 系統(tǒng)實(shí)體圖在線交易系統(tǒng)主要由用戶,消息,消息收藏,保潔申請(qǐng)等實(shí)體組成。下面介紹用戶,消息和消息收藏,保潔申請(qǐng)的主要屬性,和介紹個(gè)實(shí)體之間的聯(lián)系。需求者實(shí)體圖如圖4-2用戶實(shí)體圖4-2用戶實(shí)體消息實(shí)體圖如圖4-3 消息實(shí)體圖4-3消息實(shí)體消息收藏實(shí)體圖如圖4-4 消息收藏實(shí)體圖4-4 消息收藏實(shí)體保潔申請(qǐng)實(shí)體圖如圖4-5保潔申請(qǐng)實(shí)體圖4-5 保潔申請(qǐng)實(shí)體各實(shí)體之間的聯(lián)系如圖4-6實(shí)體 圖4-6 實(shí)體聯(lián)系4.2
34、.3 數(shù)據(jù)字典數(shù)據(jù)字典中列出的表格只是取四個(gè)典型的例子,并未完全列舉。表4-1 用戶信息表 (t_people)字段名稱數(shù)據(jù)類型字符長(zhǎng)度NULL字段描述IDINT100NO主鍵loginNameVARCHAR100NO用戶名passwordVARCHAR100NO密碼NameVARCHAR255YES姓名AgeINT100YES年齡SexVARCHAR255YES性別PhoneVARCHAR255YES電話headUrlVARCHAR255YES頭像表4-2 家政信息表 (t_jiazhen)字段名稱數(shù)據(jù)類型字符長(zhǎng)度NULL字段描述IDINT100NO主鍵useIdINT100NO用戶主鍵cr
35、eateTimeDATETIME-NO創(chuàng)建時(shí)間createTimelongDATETIME-YES編輯時(shí)間ContentVARCHAR100YES內(nèi)容imageURlVARCHAR255YES圖片MoneyVARCHAR255NO金額TypeVARCHAR255NO類型表4-3 信息收藏表 (t_shoucang)字段名稱數(shù)據(jù)類型字符長(zhǎng)度NULL字段描述IDINT100NO主鍵selfIdINT100NO用戶主鍵careIdINT100NO關(guān)注人編碼createTimeDATETIME-NO創(chuàng)建時(shí)間5 系統(tǒng)詳細(xì)設(shè)計(jì)系統(tǒng)詳細(xì)設(shè)計(jì)階段是確定怎樣具體展現(xiàn)所要求的系統(tǒng),通過(guò)各種設(shè)計(jì)工具準(zhǔn)確地描述目標(biāo)系
36、統(tǒng),從而把這種描述直接轉(zhuǎn)述成用程序語(yǔ)言書(shū)寫(xiě)的程序的階段。在線交易系統(tǒng)根據(jù)各個(gè)模塊功能的劃分更準(zhǔn)確的實(shí)現(xiàn)了所需要的功能,下面詳細(xì)介紹各個(gè)模塊實(shí)現(xiàn)過(guò)程。5.1 登錄模塊的設(shè)計(jì)與實(shí)現(xiàn)5.1.1注冊(cè)功能的實(shí)現(xiàn)主要實(shí)現(xiàn)用戶注冊(cè)的功能,用戶輸入相關(guān)信息之后進(jìn)行注冊(cè),注冊(cè)成功之后才可以登錄,完成消息發(fā)布,查看,刪除等操作。如圖5-1 用戶注冊(cè)。(1)在注冊(cè)過(guò)程中用戶輸入賬戶之后可以點(diǎn)擊姓名查看此賬戶是否被注冊(cè)過(guò),如果被注冊(cè)過(guò)就會(huì)有吐司彈出,顯示該賬戶已被注冊(cè)過(guò)。主要代碼如下:這邊先簡(jiǎn)要介紹一下Handle的使用:由于Android平臺(tái)中,activity新啟動(dòng)的線程是不可以訪問(wèn)這個(gè)activity的組件的,
37、否則新啟動(dòng)的線程會(huì)無(wú)法動(dòng)態(tài)改變組建的屬性值,所以這個(gè)時(shí)候就需要借助handle來(lái)傳遞消息,實(shí)現(xiàn)子線程和主線程的通信。Handle有兩個(gè)作用:(1)向新啟動(dòng)的線程中發(fā)送消息。(2)在主線程中獲取、處理消息。為了讓主線程能及時(shí)處理新進(jìn)程發(fā)送的消息,handle類中處理消息的方法就會(huì)被自動(dòng)回調(diào)。這段代碼就是Handle執(zhí)行階段,向用戶返回注冊(cè)名稱是否重復(fù)的信息。首先是在activity中創(chuàng)建一個(gè)進(jìn)程,從dotNetManager獲取isUserExist()方法,并將界面輸入的注冊(cè)名稱傳給接口。這段代碼是向WebService的isUserExist方法傳一個(gè)loginname的參數(shù)。WebServ
38、ice通過(guò)SQL語(yǔ)句匹配前臺(tái)傳回來(lái)的注冊(cè)名與數(shù)據(jù)庫(kù)中的注冊(cè)名,給出一個(gè)isExist結(jié)果。DataSet ds = dbMysql.seleDB(select * from t_people where loginName = +loginName+);if(ds.Tables0.Rows.Count0)allMap.Add(result,0);allMap.Add(isExist,1);returnJsonHelper.ToJson(allMap);elseallMap.Add(result,0);allMap.Add(isExist,0);returnJsonHelper.ToJson(a
39、llMap); 這段代碼是在WebService中實(shí)現(xiàn),通過(guò)獲取dotNetManager中傳來(lái)的參數(shù)loginname,與數(shù)據(jù)庫(kù)中的loginname相對(duì)比,0表示用戶不存在,1表示用戶存在。在activity中會(huì)獲取需要解析的JSONObject,0表示成功,1表示失敗,如果成功將獲取到由WebService傳回來(lái)的isExist的結(jié)果,并將結(jié)果傳給Handle,最后由Toast告訴用戶是否已經(jīng)被注冊(cè)過(guò)。(2)通過(guò)驗(yàn)證的賬戶就會(huì)被同步到數(shù)據(jù)庫(kù)中的用戶信息表中,用戶通過(guò)此賬戶和密碼就可以進(jìn)行后續(xù)的一些操作。 圖5-1 用戶注冊(cè) 圖5-2 找回密碼5.1.2 登錄功能的實(shí)現(xiàn)該功能主要實(shí)現(xiàn)用戶登
40、錄,系統(tǒng)會(huì)根據(jù)登錄名和密碼,檢查與數(shù)據(jù)庫(kù)中的登錄名密碼是否匹配。登錄成功之后就會(huì)跳轉(zhuǎn)系統(tǒng)首頁(yè)。5.1.3 密碼找回與修改的功能實(shí)現(xiàn)當(dāng)用戶登錄時(shí)發(fā)現(xiàn)忘記密碼,可以通過(guò)點(diǎn)擊找回密碼進(jìn)入找回密碼界面,通過(guò)輸入注冊(cè)時(shí)的手機(jī)號(hào)碼找回密碼,通過(guò)SQL語(yǔ)句找到此ID的用戶信息,然后比較輸入的手機(jī)號(hào)是否與注冊(cè)時(shí)的手機(jī)號(hào)相同,若相同則會(huì)顯示注冊(cè)密碼。如圖5-2 找回密碼。找回密碼之后可以修改密碼,修改密碼的時(shí)候需要輸入先前的密碼和修改后的密碼,系統(tǒng)會(huì)比較數(shù)據(jù)庫(kù)中原有的密碼,如果匹配,會(huì)將新的密碼同步到數(shù)據(jù)庫(kù)。5.2 系統(tǒng)列表獲取模塊的設(shè)計(jì)與實(shí)現(xiàn)這是本次設(shè)計(jì)的核心模塊,用戶登陸成功之后就可以根據(jù)自己的需求選擇想要
41、瀏覽的物品的列表。如圖5-3 房產(chǎn)列表, 5-4 我的發(fā)布列表。 圖5-3 房產(chǎn)列表 5-4 我的發(fā)布列表以獲取房產(chǎn)列表為例,詳細(xì)解析一下獲取的過(guò)程,主要代碼如下:首先從dotNetManager獲取getfangchanList()方法,同時(shí)傳入?yún)?shù),獲得需要解析的JSONObject,如果返回的result為0,表示解析成功,獲取webservice中的fileList,fileList代表的是數(shù)據(jù)庫(kù)中t_fangchan表中的數(shù)據(jù)。定義一個(gè)weiboList實(shí)體對(duì)象,獲取到數(shù)據(jù)之后就開(kāi)始遍歷數(shù)據(jù),將ja中的第i個(gè)JSONObject賦給weiboJO,gso自動(dòng)解析(String-對(duì)象)
42、,將fileList中的每一行對(duì)應(yīng)添加到weiboList中,用msg.obj將weiboList傳到handle中。Handle獲取到數(shù)據(jù)后,綁定適配器,按照adapter中規(guī)定的方法,將每一條數(shù)據(jù)放到相應(yīng)的控件中。如果解析JSONObject出錯(cuò),也會(huì)將攜帶的錯(cuò)誤信息傳給Handle,以Toast的方式將錯(cuò)誤原因告知用戶。5.3 詳細(xì)信息中打電話發(fā)短信功能的設(shè)計(jì)與實(shí)現(xiàn)為了更好地方便用戶交易,我們實(shí)現(xiàn)了用手機(jī)號(hào)注冊(cè)的功能,這一功能的實(shí)現(xiàn)就是方便交易時(shí)的雙方聯(lián)系,當(dāng)買(mǎi)家中意物品后可以直接在物品詳情的界面中聯(lián)系賣(mài)家,在賣(mài)家手機(jī)出現(xiàn)停機(jī)或關(guān)機(jī)的情況下,用戶還可以選擇留言的方式聯(lián)系賣(mài)家,這解決了傳統(tǒng)
43、交易一些不便之處。獲取到物品詳細(xì)信息后,如圖圖5-5物品詳情1,圖5-6物品詳情2,會(huì)顯示出賣(mài)家的姓名和手機(jī)號(hào),手機(jī)號(hào)旁邊的打電話發(fā)短信以及留言功能都已經(jīng)實(shí)現(xiàn)。 圖5-5物品詳情1 圖5-6物品詳情2首先,號(hào)碼的獲取是通過(guò)Intent將所需要獲取到詳細(xì)信息的這條消息的發(fā)布者的ID傳遞到顯示詳細(xì)信息的這個(gè)界面,核心代碼:intent.putExtra(OtherId, tongChenItem.getUserId();上一個(gè)界面的值傳遞過(guò)來(lái)之后需要在詳細(xì)信息的界面接收值才可以使用,核心代碼:otherid=getIntent().getStringExtra(OtherId);在獲取到發(fā)布者ID
44、之后依舊可以使用訪問(wèn)網(wǎng)絡(luò)接口,通過(guò)查找語(yǔ)句找到此ID號(hào)的用戶的詳細(xì)信息,當(dāng)然,包括該用戶的姓名和聯(lián)系方式,解析之后的數(shù)據(jù)會(huì)綁定到相應(yīng)的控件,再顯示出來(lái)。5.3.1 打電話功能的實(shí)現(xiàn)打電話的功能是調(diào)用系統(tǒng)的打電話功能,需要先給系統(tǒng)一個(gè)權(quán)限,在MainFest中獲取,有了權(quán)限之后直接回跳轉(zhuǎn)系統(tǒng)打電話界面,代碼如下:Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse(tel:+phone);5.3.2 發(fā)短信功能的實(shí)現(xiàn)發(fā)短信是跳轉(zhuǎn)到自定義的發(fā)短信界面進(jìn)行發(fā)送如圖5-7 短信發(fā)送,代碼如下:List divideContents=smsManag
45、er.divideMessage(msg);for (String text:divideContents)smsManager.sendTextMessage(num, null, text, null, null);圖5-7 短信發(fā)送5.4 消息發(fā)布模塊的設(shè)計(jì)與實(shí)現(xiàn)除了列表的獲取,消息發(fā)布模塊也非常重要,在這個(gè)模塊中一共有12中發(fā)布類型,用戶可以選擇自己需要的類型。在消息發(fā)布中,用戶需要選擇物品類型,輸入物品描述,上傳物品圖片,最后需寫(xiě)上該物品的交易價(jià)格,如圖5-8消息發(fā)布1,圖5-9 消息發(fā)布2。 圖5-8消息發(fā)布1 圖5-9 消息發(fā)布2本節(jié)中,就家政消息發(fā)布為例進(jìn)行分析,類型的選擇框是
46、采用了Spinner控件,在activity文件中綁定arrylist,將種類顯示出來(lái),選取好種類之后會(huì)以string類型產(chǎn)生一個(gè)常量leixing,這個(gè)類型就是數(shù)據(jù)庫(kù)中的type。輸入的標(biāo)題也會(huì)被讀取轉(zhuǎn)換成string字符串,費(fèi)用也是如此。這邊的難點(diǎn)在于如何將圖片上傳到數(shù)據(jù)庫(kù),點(diǎn)擊上傳圖片的按鈕會(huì)彈出一個(gè)Dialog選擇框,選擇框中給出了兩種選取圖片的方式,本地圖片和拍照,就這兩種方式來(lái)進(jìn)行詳細(xì)分析:(1)選取本地圖片:如果在對(duì)話框中選擇相冊(cè),系統(tǒng)會(huì)自動(dòng)調(diào)轉(zhuǎn)到手機(jī)系統(tǒng)的相冊(cè),代碼:Intent intent = new Intent(Intent.ACTION_PICK, null)。在取到
47、系統(tǒng)自帶圖片的uri之后,調(diào)用startPhotoZoom方法,設(shè)置自定義剪切圖片,圖片剪切成功之后會(huì)返回PhotoResult,這個(gè)方法會(huì)將圖片與控件綁定顯示到界面上,并以當(dāng)前時(shí)間+“.png”的格式自動(dòng)保存到本地,Dialog對(duì)話框會(huì)消失。然后再調(diào)用dotNetManager接口中的writejiazheng方法通過(guò)webservice將圖片上傳到數(shù)據(jù)庫(kù)。(2)拍照:如果在對(duì)話框中選擇拍照,系統(tǒng)會(huì)自動(dòng)調(diào)用系統(tǒng)攝像頭,代碼:Intent intent2 = new Intent(MediaStore.ACTION_IMAGE_CAPTURE)。拍完照?qǐng)D片會(huì)存入手機(jī)系統(tǒng)SD卡中,這時(shí)交易系統(tǒng)會(huì)
48、先通過(guò)手機(jī)sd卡的根路徑savePicPath :/mnt/sdcard/download/pic/找到當(dāng)時(shí)以當(dāng)前時(shí)間+“.png”格式保存的圖片,然后調(diào)用startPhotoZoom方法進(jìn)行剪切,最后上傳。在以上內(nèi)容都實(shí)現(xiàn)之后由activity調(diào)用接口中相應(yīng)的方法將數(shù)據(jù)傳出,通過(guò)webservice中的SQL語(yǔ)句將消息添加到數(shù)據(jù)庫(kù)中,最后在列表中顯示出來(lái)。5.5 個(gè)人中心模塊的設(shè)計(jì)與實(shí)現(xiàn)(1)用戶可以獲取到個(gè)人信息:如圖5-10 個(gè)人消息。用戶登錄之后直接通過(guò)setText設(shè)置對(duì)應(yīng)的textview中的值,setText方法中的值是從UserItem中獲取,用戶的基本信息都被存放在UserI
49、tem中,比如:public int getId() return id;public void setId(int id) this.id = id;而在activity中就可以通過(guò)setText(userItem.getId ()直接獲取Id值,然后綁定到控件中。頭像是通過(guò)異步加載的方式從網(wǎng)絡(luò)接口獲取到相應(yīng)名稱的圖片,主要代碼如下:(2)用戶可以修改個(gè)人頭像:修改頭像的原理和5.4中提到的上傳圖片是一個(gè)原理,通過(guò)選擇Dialog中的提示,相冊(cè)還是拍照實(shí)現(xiàn)圖片的上傳。(3)用戶反饋:每一款A(yù)pp都有它的缺陷,不能只通過(guò)后期維護(hù)來(lái)發(fā)現(xiàn)這些問(wèn)題,在這款A(yù)pp中用戶可以根據(jù)自己的見(jiàn)解提意見(jiàn),后臺(tái)管
50、理員在數(shù)據(jù)庫(kù)中可以看到反饋的內(nèi)容,如圖5-11 意見(jiàn)反饋數(shù)據(jù)庫(kù)。 圖5-10 個(gè)人消息 圖5-12 添加訂閱圖5-11 意見(jiàn)反饋數(shù)據(jù)庫(kù)(4)用戶可以獲取到這款A(yù)pp的版本信息:通過(guò)調(diào)用接口中checkVersionUpdate()及getAboutUs()兩種方法可以獲取到想要看到的信息。(5)個(gè)人模塊中還有一項(xiàng)添加訂閱,主要是針對(duì)房產(chǎn)一類的消息訂閱,將自己想要看到的信息種類,如圖5-12 添加訂閱,通過(guò)Spinner控件將可供選擇的種類展現(xiàn)出來(lái),用戶根據(jù)喜好添加訂閱。添加訂閱完成后,可以在個(gè)人中心獲取我的訂閱列表。6 系統(tǒng)測(cè)試6.1 軟件測(cè)試原則和技術(shù)軟件測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序
51、的過(guò)程,好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案,成功的測(cè)試方案是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試6。軟件測(cè)試需要遵循的原則:所有測(cè)試都要以用戶需求為主;應(yīng)在測(cè)試之前就制定好測(cè)試計(jì)劃;把Pareto原理應(yīng)用到軟件中;從小規(guī)模測(cè)試開(kāi)始執(zhí)行再執(zhí)行大規(guī)模測(cè)試;不可能窮舉測(cè)試;為了保證測(cè)試結(jié)果,應(yīng)該由第三方測(cè)試獨(dú)立完成。軟件測(cè)試主要有兩種技術(shù),黑盒測(cè)試技術(shù)和白盒測(cè)試技術(shù)。黑盒測(cè)試技術(shù)就是將整個(gè)系統(tǒng)看成一個(gè)黑盒子,要求測(cè)試者不使用與被測(cè)系統(tǒng)有關(guān)的技術(shù)進(jìn)行檢測(cè),適用于對(duì)系統(tǒng)的功能進(jìn)行檢測(cè);白盒測(cè)試技術(shù)在測(cè)試的時(shí)候可以知道北側(cè)程序的內(nèi)部結(jié)構(gòu)和具體程序,可以測(cè)試代碼內(nèi)容提高代碼質(zhì)量。6.2
52、測(cè)試用例設(shè)計(jì)本系統(tǒng)主要采用黑盒測(cè)試。主要測(cè)試功能點(diǎn)如表6-1:表6-1 同城交易系統(tǒng)測(cè)試用例測(cè)試內(nèi)容測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果測(cè)試是否登錄成功輸入正確的賬號(hào)和密碼登錄成功與預(yù)期結(jié)果相符測(cè)試是否可以獲取物品列表在首頁(yè)中點(diǎn)擊可以獲取列表的按鈕獲取成功與預(yù)期結(jié)果相符測(cè)試是否可以發(fā)布交易信息在發(fā)布消息界面中,對(duì)12種類型逐步測(cè)試消息發(fā)送成功與預(yù)期結(jié)果相符測(cè)試是否可以獲取個(gè)人信息在個(gè)人中心界面點(diǎn)擊獲取個(gè)人消息的按鈕獲取成功與預(yù)期結(jié)果相符測(cè)試是否可以收藏消息在詳情界面點(diǎn)擊收藏,并在個(gè)人中心點(diǎn)擊我的收藏查看收藏成功與預(yù)期結(jié)果相符測(cè)試是否可以刪除個(gè)人發(fā)布的消息在我的發(fā)布中點(diǎn)擊刪除按鈕,并查看數(shù)據(jù)庫(kù)刪除成功與預(yù)期
53、結(jié)果相符測(cè)試是否可以修改頭像在個(gè)人中心點(diǎn)擊頭像,進(jìn)行修改修改頭像成功與預(yù)期結(jié)果相符測(cè)試是否可以反饋意見(jiàn)在更多中,發(fā)布反饋意見(jiàn),并到數(shù)據(jù)庫(kù)中查看意見(jiàn)反饋發(fā)布成功與預(yù)期結(jié)果相符測(cè)試是否可以打電話發(fā)短信在詳細(xì)信息界面,點(diǎn)擊打電話發(fā)短信的按鈕,并確認(rèn)是否接到來(lái)電,收到短信可以接到電話,收到短信與預(yù)期結(jié)果相符7 總結(jié)為了給用戶提供更多的交易類型,為用戶提供更快的交易速度,這是一個(gè)完善的同城交易App必須要做到的事情,用戶可以通過(guò)登錄同城交易軟件選擇自己想要而身邊有很難找到的東西,讓自己的生活更有效率。在同城交易系統(tǒng)中的需求提供者可以在線發(fā)布信息,需求獲得者在線瀏覽這些信息。這樣不管是哪一方都可以更快讓自
54、己的需求得到滿足,不用花大把的時(shí)間精力花在去尋找中間商,或者等待買(mǎi)家出現(xiàn)。這從根本上減輕了人力物力,降低了成本,所以說(shuō)這款A(yù)pp具有相當(dāng)?shù)慕?jīng)濟(jì)性。為了適應(yīng)當(dāng)前社會(huì)在線交易的發(fā)展,作者對(duì)這一系統(tǒng)進(jìn)行了一次比較全面的研究和分析。在本論文中詳細(xì)介紹了在線交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),作者也基本實(shí)現(xiàn)了需求分析中提到的功能,用戶通過(guò)注冊(cè)再登錄系統(tǒng),獲取不同類別的物品的類別,點(diǎn)開(kāi)列表中的信息可以查看物品的詳細(xì)信息,如果滿意就可以直接撥打賣(mài)家的電話與之聯(lián)系。同時(shí)用戶本人可以對(duì)自己的各類信息進(jìn)行刪除操作。但是,系統(tǒng)完成之后再參照市場(chǎng)實(shí)際需求,作者發(fā)現(xiàn)系統(tǒng)中也有不少缺陷。比如:(1)該系統(tǒng)未能實(shí)現(xiàn)在線支付功能,對(duì)于一些
55、小商品而言,可以在交易雙方都滿意的條件下直接完成支付,賣(mài)家可以以快遞的形式將物品寄予買(mǎi)家,從而就沒(méi)有必要再面對(duì)面交易。(2)由于技術(shù)限制,該系統(tǒng)并沒(méi)有實(shí)現(xiàn)定位功能,希望在以后的研究中,該項(xiàng)功能可以實(shí)現(xiàn),不需要每次都手動(dòng)選擇。(3)瀏覽足跡還不能保存到后臺(tái),我的足跡功能還不能實(shí)現(xiàn)。(4)用戶添加訂閱之后不能自動(dòng)給用戶推送消息。在這些缺陷的激勵(lì)下,作者會(huì)一直學(xué)習(xí)研究下去,在完善這些缺陷的基礎(chǔ)上做出更多功能。參考文獻(xiàn)1謝曉芳.Android應(yīng)用開(kāi)發(fā)攻略M.北京:機(jī)械工業(yè)出版社,2013.2林建素,孟康.Eclipse開(kāi)發(fā)學(xué)習(xí)筆記M.北京:電子工業(yè)出版社,2008.3蔣金楠.ASP.NET MVC 4
56、框架揭秘M.北京:電子工業(yè)出版社,2013.4賈鐵軍,甘泉.軟件工程與實(shí)踐M.北京:清華大學(xué)出版社,2012.5李剛.瘋狂Android講義M.北京:電子工業(yè)出版社,2011.6張海藩,牟永敏.軟件工程導(dǎo)論M.北京:清華大學(xué)出版社,2013.7陳剛Eclipse從入門(mén)到精通M.北京:清華大學(xué)出版社. 2008.8王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論(第四版)M.北京:高等教育出版社.2008.9靳巖,姚尚朗. Google Android開(kāi)發(fā)入門(mén)與實(shí)踐M.北京:人民郵電出版社. 2009.10趙亮,張維. 基于Android技術(shù)的界面設(shè)計(jì)與研究D .徐州:徐州建筑職業(yè)技術(shù)學(xué)院,2001.致謝畢業(yè)論文的
57、完成也就意義這我將結(jié)束大學(xué)四年的生活,心中難免有些不舍?;仡櫵哪陮氋F的時(shí)光,在南京曉莊學(xué)院優(yōu)良的學(xué)習(xí)風(fēng)氣、嚴(yán)謹(jǐn)?shù)目蒲蟹諊形抑鸩匠砷L(zhǎng);在那么多學(xué)識(shí)淵博的老師的教導(dǎo)下我受益匪淺,從一個(gè)計(jì)算機(jī)小白到現(xiàn)在可以獨(dú)立完成一個(gè)系統(tǒng)的編寫(xiě),有說(shuō)不出的感激,每一條代碼都是老師們手把手教出來(lái)的。值此論文完成之際,我向所有關(guān)心、幫助我的人們表示最真誠(chéng)的感謝。同時(shí),我很感謝學(xué)校這次到江蘇微軟實(shí)訓(xùn)的安排,在公司我學(xué)會(huì)了安卓開(kāi)發(fā),不僅從理論還是實(shí)踐能力上我都得到了很大的提升。很感謝蘇微老師耐心的解析,從布局開(kāi)始,到后臺(tái),老師對(duì)我的每個(gè)錯(cuò)誤都進(jìn)行的分析。同時(shí),很感謝班級(jí)同學(xué)對(duì)我的幫助,他們沒(méi)有覺(jué)得不耐煩,大家彼此之間還會(huì)共享一些開(kāi)發(fā)技巧,所以說(shuō),這次畢業(yè)設(shè)計(jì)的完成也少不了他們的幫忙。不管在哪里,我都會(huì)陶行知老先生的一句話:捧著一顆心來(lái),不帶半根草去!31
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案