基于Android平臺的百度云推送聊天交友APP的設(shè)計與實現(xiàn)-畢業(yè)論文_第1頁
基于Android平臺的百度云推送聊天交友APP的設(shè)計與實現(xiàn)-畢業(yè)論文_第2頁
基于Android平臺的百度云推送聊天交友APP的設(shè)計與實現(xiàn)-畢業(yè)論文_第3頁
基于Android平臺的百度云推送聊天交友APP的設(shè)計與實現(xiàn)-畢業(yè)論文_第4頁
基于Android平臺的百度云推送聊天交友APP的設(shè)計與實現(xiàn)-畢業(yè)論文_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第基于Android平臺的百度云推送聊天交友APP的設(shè)計與實現(xiàn)摘要隨著經(jīng)濟與科技高速發(fā)展,手機的用戶量越來越多,幾乎每一個人的手中都有一個手機,手機已經(jīng)成為了人們聊天交友、上班查資料和學(xué)習(xí)中必不可少的東西,而各個年齡段的手機用戶的最優(yōu)先選擇是Android智能手機,Android智能手機的使用量在各地區(qū)手機用戶中占了很大的比重。眾所周知,手機的一個重要而且是重中之重的功能就是聊天,聊天不僅僅只局限于電話和短信,還有即時通訊手機端APP應(yīng)用也越來越廣泛,人們可以借助一種聊天交友APP實現(xiàn)與家人、朋友、同學(xué)以及同事等人之間進行通信對話。本文旨在設(shè)計并實現(xiàn)一個基于Android平臺的百度云推送聊天交友APP。本文在騰訊QQ聊天和微信聊天客戶端進行調(diào)查研究的基礎(chǔ)上,采用軟件工程項目開發(fā)過程的管理方法,依次進行了可行性分析、需求分析和系統(tǒng)設(shè)計,進一步完成代碼的編寫,在eclipse中使用Java語言實現(xiàn)了百度云推送聊天交友APP各個功能模塊,APP的IM通信部分基于第三方百度云SDK進行開發(fā)。實現(xiàn)了Android平臺上通過百度云推送信息的聊天交友通訊系統(tǒng)?;贏ndroid平臺的百度云推送聊天交友APP經(jīng)過后期的測試運行,結(jié)果表明,系統(tǒng)已經(jīng)完成了用戶注冊、登錄,好友的查找、添加、刪除,推薦具有共同興趣愛好的好友、好友聊天、群聊天等功能。與此同時,在用戶之間進行信息交互時,該通訊系統(tǒng)都能夠很順暢的運行。關(guān)鍵詞:Android;即時通訊;百度云;智能手機第PAGEV頁第PAGEV頁DesignandimplementationoftheAndroidplatformBaiducloud-basedpushchatwithfriendsAPPAbstractwiththerapiddevelopmentofeconomyandtechnology,mobilephoneshavebecomethewaypeoplelive,workandlearnessentialtool,andAndroidsmartphoneshasbecomeavastmajorityofadolescents,youngandmiddle-agedchoice.Asweallknow,amajorcellphoneandisthemostimportantfeatureisthechat,chatnotjustlimitedtocallsandtextmessages,andinstantmessagingAPPmobileclientapplicationsaremorewidelyused,peoplecanachievebymeansofachatwithfriendsAPPamongfamily,friends,classmatesandco-workersandotherstocommunicatewithdialogue.Thispaperaimstodesignandimplementacloud-basedAndroidplatformBaidupushdatingchatAPP.Inthispaper,TencentQQchatandmicro-channelchatclientisthebasisofinvestigationontheuseofsoftwareprojectmanagementmethods,requirementsanalysisandsystemdesign,completefurtherUIinterfacedesign,usingtheJavalanguagetoimplementBaiducloudpushchatineclipseDatingAPPvariousfunctionalmodules,IMcommunicationsectionAPPBaiducloud-basedthird-partySDKfordevelopment.RealizedontheAndroidplatformthroughBaiducloudpushinformationdatingchatcommunicationsystems.Android-basedBaiducloudpushchatwithfriendsAPPtestedrunninglate,theresultsshowthatthesystemhascompletedtheuserregistration,login,friendssearch,add,delete,recommendhavingcommoninterestsfriends,chatwithfriends,groupchatFeatures.Atthesametime,theinteractionbetweentheuserinformation,thecommunicationsystemcanrunverysmoothly.Keywords:Android;instantmessaging;Baiducloud;Smartphone第55頁第55頁第一章緒論1.1研究背景Android的英文翻譯是指“機器人”,而Android這個詞語作為手機操作系統(tǒng)的名稱出現(xiàn),Android手機操作系統(tǒng)是谷歌在2007年發(fā)布的,自Android作為手機操作系統(tǒng)出現(xiàn)在人們的視野之后,Android智能手機的市場得到迅速擴大,與此同時,與Android智能手機相關(guān)的技術(shù)和應(yīng)用也迅速崛起,目前國內(nèi)外多數(shù)智能手機都采用Android操作系統(tǒng),Android操作系統(tǒng)的開源性和可開發(fā)性使得Android操作系統(tǒng)的應(yīng)用軟件越來越多,這些應(yīng)用軟件遍布于人們的生產(chǎn)、生活、學(xué)習(xí)和工作、娛樂。Android這種手機操作系統(tǒng)被越來越多的手機生產(chǎn)廠商和手機用戶接受和使用?;贏ndroid的即時通訊(Istantmessaging,IM)是隨著互聯(lián)網(wǎng)時代的興起而迅速崛起的新型通訊手段,并一度成為了21世紀以手機為終端聊天和交友的主流。其發(fā)展很迅猛,發(fā)展空間寬闊、發(fā)展前景樂觀。由此,本項目的開發(fā)基于以下幾點:1)Android系統(tǒng)手機現(xiàn)在已經(jīng)遍布整個世界,很多人都在使用,與此同時,人們需要更好、反應(yīng)更為靈敏、更方便快捷的手機應(yīng)用來滿足自己的要求,所以針對該系統(tǒng)手機進行應(yīng)用開發(fā)已然成為IT行業(yè)發(fā)展和研究的熱門方向。2)固定網(wǎng)絡(luò)的即時通訊系統(tǒng)在Internet中得到廣泛的應(yīng)用,即時通訊已經(jīng)成為現(xiàn)時代用戶工作、學(xué)習(xí)和生活中不可或缺的通訊工具。3)移動網(wǎng)絡(luò)的無線終端設(shè)備在各個領(lǐng)域已經(jīng)廣泛的使用,幾乎各個地方手機的使用也得到了全面的普及,利用無線的終端設(shè)備訪問網(wǎng)絡(luò)已經(jīng)成為人們的需求。人們希望在手機、平板電腦等無線終端設(shè)備上就可以實現(xiàn)和別人進行信息交互。4)中國作為世界第一的人口大國,人口眾多必然會導(dǎo)致人與人之間信息的交互量龐大、信息交互頻率高,與此同時,手機的使用量必然也是相當(dāng)?shù)凝嫶?,所以用戶也迫切的希望能有一些?yīng)用能夠?qū)崿F(xiàn)與別人的即時通訊。本項目“基于Android平臺的百度云推送聊天交友APP”不僅支持用戶通信聊天、還可以讓用戶找到有共同愛好興趣的好友,彼此溝通交流升華自己。1.2國內(nèi)外應(yīng)用現(xiàn)狀隨著科技的發(fā)展,人們在生活、學(xué)習(xí),工作、娛樂上不斷的追求智能?,F(xiàn)無論在國內(nèi)還是國外,智能手機都是越來越普及。在手機用戶中Android智能手機的使用所占的比重也只會越來越大,許多中國的消費者已經(jīng)將手機視為最首選的移動終端智能設(shè)備,這意味著智能手機將成為人們上網(wǎng)的主要工具。以后我們可能原來越依賴于移動端。隨著3G、4G等網(wǎng)絡(luò)技術(shù)的應(yīng)用、無線網(wǎng)絡(luò)實現(xiàn)覆蓋和Android智能手機的普及,讓移動互聯(lián)網(wǎng)與我們的生活、工作和學(xué)習(xí)緊密聯(lián)系在一起不可分離,同時也迫使無線移動手機終端成為人們必須的工具?,F(xiàn)在主流的智能機配置已經(jīng)得到全面的提升,雖然說現(xiàn)在很多人認為手機不是電腦,手機比不上電腦,但是現(xiàn)在高配置的智能手機能夠?qū)崿F(xiàn)的功能并不亞于電腦,而且能與電腦相媲美。手機不再是單一的通訊工具,從很多成面上來評價,智能手機在很多時候可以充當(dāng)電腦,它的功能已經(jīng)和人們?nèi)粘5纳?、娛樂、工作、通訊等多個層面緊密相關(guān),在功能應(yīng)用和軟件安裝絲毫不比筆記本差,相比筆記本電腦,手機攜帶方便、小巧時尚、待機時間長等優(yōu)勢無可代替?,F(xiàn)在很多國家的人們使用的都是Android系統(tǒng)的智能手機,而以IOS系統(tǒng)作為運行平臺的蘋果手機雖然能夠熱銷同時也很受年青一代人的喜愛,但是由于其IOS系統(tǒng)平臺的兼容性和手機價格昂貴等原因,IOS蘋果智能手機并不是大多數(shù)人的選擇。而作為國內(nèi)外智能手機用的最多的操作系統(tǒng),許多廠商也看到了Android獨特的優(yōu)勢,于是從國外到國內(nèi),多數(shù)廠商開始采用android,生產(chǎn)手機以及電腦,相應(yīng)的基于Android平臺的各種手機APP層出不窮。但真正作即時通訊功能的聊天交友APP卻很少,正是在這種形勢下,我們設(shè)計了基于Android平臺的百度云推送聊天交友APP。1.3研究的目的和主要內(nèi)容本課題要求設(shè)計并實現(xiàn)一個基于Android平臺的百度云推送聊天交友APP,當(dāng)前隨著智能手機的普及推廣,以及智能手機功能的越來越完善,人們的生活、學(xué)習(xí)、工作和娛樂也越來越多的離不開智能手機,現(xiàn)在智能手機有兩種類型,一個是由蘋果公司開發(fā)銷售的IOS封閉式操作系統(tǒng)蘋果手機,另一個是由谷歌開發(fā)的Android操作系統(tǒng)智能手機,其中Android操作系統(tǒng)在智能手機中占有最大比重,更為普遍。本課題主要做的是一個基于Android平臺的聊天交友APP軟件。通過這個APP人們可以即時通訊,同時這個APP軟件還可以幫助人們找到具有相同興趣愛好的朋友。內(nèi)容及功能:這是一個可以聊天交友的APP軟件,在Android手機操作系統(tǒng)開發(fā)而來,主要應(yīng)用于Android智能手機上,通過百度云所推送的信息,結(jié)交同興趣,同職業(yè),同地區(qū)的朋友,主要功能和騰訊的QQ聊天軟件有相似之處。主要功能如下:1)用戶登錄注冊:用戶只有注冊登錄后才能正常使用這個APP聊天工具2)添加好友:用戶注冊登陸后,可以根據(jù)對方賬號或者姓名添加好友3)查找好友:用戶可以在好友列表搜索好友刪除好友:用戶可以刪除好友4)修改好友備注信息:用戶可以根據(jù)需要修改所添加好友的備注信息5)好友聊天:同為注冊用戶且是好友關(guān)系的用戶之間可以聊天,可以發(fā)送文字,也可以發(fā)送圖片,表情等信息。6)群聊天:用戶可以把所添加的好友拉進同一個群,多人對話,群聊天。7)好友推薦:系統(tǒng)會自動給用戶推薦具有相同興趣愛好的好友。1.4論文結(jié)構(gòu)本文檔是對基于Android平臺的百度云推送聊天交友APP的一個總體的把握,以便在下一步的開發(fā)設(shè)計中更順利的完成開發(fā)和實現(xiàn)預(yù)期的項目標(biāo)準(zhǔn),并且設(shè)計對其他功能的添加有良好的接口。設(shè)計系統(tǒng)的架構(gòu),以便使系統(tǒng)的開發(fā)能有效進行。文中著重闡述了基于Android平臺的百度云推送聊天還有APP的整體開發(fā)過程。介紹了系統(tǒng)的開發(fā)環(huán)境、開發(fā)工具以及運行環(huán)境,對于設(shè)計思想和設(shè)計流程也做出了全面的敘述,在數(shù)據(jù)庫創(chuàng)建思想以及各個數(shù)據(jù)表之間的具體關(guān)聯(lián)等方面也做出了詳細說明,并且具體剖析了系統(tǒng)各個功能的實現(xiàn)過程以及詳細設(shè)計過程,對該系統(tǒng)主要功能進行截圖分析,并用代碼來解釋主要實現(xiàn)方法。在繪制簡單系統(tǒng)功能模塊圖的同時,力求更加清晰地表明設(shè)計思想以及對整個程序設(shè)計的規(guī)劃及具體實現(xiàn)。第一章,緒論部分;第二章,對軟件開發(fā)環(huán)境和技術(shù)框架的簡介;第三章,系統(tǒng)可行性分析和需求分析;第四章,系統(tǒng)的總體設(shè)計;第五章,系統(tǒng)的功能實現(xiàn);第六章,系統(tǒng)的測試與維護;第七章,總結(jié)與展望。1.5小結(jié)這一章的任務(wù)是為了引導(dǎo)讀者對整篇論文有一個大體的認識,先敘述了本App的開發(fā)背景和意義、國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢,然后對論文的主要工作、組織結(jié)構(gòu)都作了講述。

第二章開發(fā)環(huán)境及技術(shù)簡介本系統(tǒng)采用C/S模式,開發(fā)環(huán)境選擇當(dāng)前流行的移動平臺系統(tǒng)Android開發(fā),前臺頁面用Java實現(xiàn),后臺數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫SQLite,下面對開發(fā)工具簡要介紹。2.1數(shù)據(jù)庫技術(shù)SQLite已經(jīng)被多種軟件和產(chǎn)品使用,Mozilla

firefox就是使用SQLite來存儲配置數(shù)據(jù)的,Android和iPhone都是使用SQLite來存儲數(shù)據(jù)的。SQLite的體系結(jié)構(gòu)如圖2.1所示:圖2.1SQLite體系結(jié)構(gòu)圖2.2JAVA語言的簡介JAVA開發(fā)語言于1995年被SUN推出,它和和現(xiàn)在的很多語言相似,比如C語言、C++語言等,由于其簡單的、跨平臺、面向?qū)ο蟮?、分布式的、解釋的、健壯性、安全性、結(jié)構(gòu)中立、可移植性和性能優(yōu)異的多線程等特點在IT界越來越受到開發(fā)者的關(guān)注和應(yīng)用,至今成為了應(yīng)用最為廣泛的軟件開發(fā)語言之一。2.3Android平臺的簡介Android(安卓),是一個以

Linux為基礎(chǔ)的開源移動設(shè)備操作系統(tǒng),主要用于智能手機和平板電腦,由

Google成立的Open

Handset

Alliance(OHA開放手持設(shè)備聯(lián)盟)持續(xù)領(lǐng)導(dǎo)與開發(fā)中[10]。Android的架構(gòu)分為四層:1)最底層是Linux

Kernel,也就是說Android系統(tǒng)是基于Linux內(nèi)核的。在這一層中,都是一些設(shè)備的驅(qū)動程序,這些驅(qū)動程序都是Android最基本和最核心的功能。2)然后是Libraries層。其中都是一些使用C和C++編寫的程序包,我們可以看到很熟悉的OpenGL

WebKit

SSL等等。在Library旁邊的是一個Android的運行是環(huán)境(Run

time),在基于Java的Core

Libraries之上,Google提供了一個針對于手機平臺優(yōu)化過的的虛擬機。3)再往上一層是ApplicationFramework。該層提供了手機開發(fā)的基本API,也就是說開發(fā)Android程序都是基于Application

Framework。4)最高層是Applications。開發(fā)軟件時就是在該層開發(fā)。

在進行Android開發(fā)時,采用的是Android

Studio1.5版本開發(fā)工具。Android

Studio是由Google公司基于IntelliJ

IDEA(類似于Eclipse的ADT)開發(fā)的,無論它的界面還是功能都遠超Eclipse,目前很多項目都是在Android

Studio工具上開發(fā)的,Android開發(fā)工具的趨勢必定是Android

Studio[11]。2.4百度云推送的簡介消息推送就是用戶與用戶之間的消息交互,目前很多消息推送的AndroidApp都采用推送的方式來進行消息通知。推送模式如圖2.2所示:圖2.2消息推送模式圖百度云推送的實現(xiàn)技術(shù)簡單來說就是利用Socket維持Client和Server間的一個TCP長連接,目前,百度云推送針對Android端提供通知推送,文本消息推送以及富媒體推送。Android_SDK的整體概覽和內(nèi)部運行機制如圖2.3所示:圖2.3Android_SDK的整體概覽和內(nèi)部運行機制圖主要功能如下:Push服務(wù)初始化以及Client注冊綁定創(chuàng)建或刪除標(biāo)簽(Tag)接收PushServer的通知信息并提供自定義展現(xiàn)消息方式推送數(shù)據(jù)統(tǒng)計分析功能,包括通知信息的點擊和刪除統(tǒng)計以及應(yīng)用使用情況統(tǒng)計富媒體推送2.5小結(jié)這一章主要介紹了系統(tǒng)開發(fā)時用到的技術(shù)和開發(fā)工具。先簡要介紹了Android,然后對Java開發(fā)時所用到一些相關(guān)技術(shù)進行介紹,還介紹了系統(tǒng)開發(fā)時引用到的第三方百度云平臺,最后對系統(tǒng)的開發(fā)工具作了簡單敘述。

第三章可行性分析和需求分析 此部分對系統(tǒng)進行可行性分析和需求分析,將用戶的需求和實現(xiàn)相結(jié)合,分析各個實體間的關(guān)系。3.1編程與運行環(huán)境3.1.1系統(tǒng)開發(fā)環(huán)境軟件類需求:操作系統(tǒng):windows7及其以上操作系統(tǒng)。數(shù)據(jù)庫:sqlite服務(wù)器:Tomcat6.0.29客戶端開發(fā)平臺:Eclipse后臺管理開發(fā)語言包:JDK1.7。客戶端開發(fā)語言包:AndroidSDK+JDK1.6。硬件類需求:電腦內(nèi)存:2G以上。電腦CPU:雙核及其以上。3.1.2系統(tǒng)運行環(huán)境Android智能手機、平板電腦等多種智能移動設(shè)備。3.2可行性分析可行性研究是以系統(tǒng)的、全面的研究方法,對影響項目的各種因素進行剖析,其中以經(jīng)濟效益為核心,用大量的數(shù)據(jù)來論證影響軟件開發(fā)項目的各種因素,進而知道項目的開發(fā)是不是可行的。本文通過技術(shù)可行性、經(jīng)濟可行性和操作可行性三個方面對基于Android平臺的百度云推送聊天交友APP項目進行可行性研究。3.2.1技術(shù)可行性技術(shù)可行性是指使用現(xiàn)有的技術(shù)能否實現(xiàn)系統(tǒng)的設(shè)計開發(fā)與最終完成。本系統(tǒng)是基于Android移動平臺采用Java和xml語言并結(jié)合Mysql數(shù)據(jù)庫,對計算機軟、硬件的要求不高,當(dāng)前的開發(fā)技術(shù)與數(shù)據(jù)庫應(yīng)用技術(shù)完全能夠滿足用戶的需要。該系統(tǒng)采用的技術(shù)不會造成過大的技術(shù)風(fēng)險,本項目是本科畢業(yè)生的一個畢業(yè)小設(shè)計,其中的所有東西都是個人來完成,不存在人員流動和人員之間編碼等水平的差距。因此,開發(fā)此系統(tǒng)在技術(shù)上是可行的。3.2.2經(jīng)濟可行性經(jīng)濟可行性是指在一個軟件項目開發(fā)周期結(jié)束后,項目所花費的成本是否超過預(yù)期的要求,具體的來說就是是否存在經(jīng)濟利益。本系統(tǒng)是一個小型的Andriod終端運用軟件,在技術(shù)上易于實現(xiàn),從而在經(jīng)濟上也就不會產(chǎn)生較大的開發(fā)成本。近幾年來,移動端特別是基于Andriod的移動端應(yīng)用特別多,市場也非常廣闊,本系統(tǒng)是基于Android平臺的百度云推送聊天交友APP,它的開發(fā)成本很低,但是它一旦進入市場后一定能受到人們廣泛青睞,因此,開發(fā)此系統(tǒng)在經(jīng)濟上是可行的。3.2.3操作可行性計算機技術(shù)正是為了減少人工操作的勞動強度而產(chǎn)生的。基于Android平臺的百度云推送聊天交友APP界面簡潔,框架清晰,美觀大方,為充分展現(xiàn)APP的交互性,能讓增強用戶體驗。本系統(tǒng)加強了界面可操作性,數(shù)據(jù)輸入量少,使用者非常容易就能完全掌握系統(tǒng)的全部操作流程。通過以上三個方面的研究,總體認為本系統(tǒng)的開發(fā)是可行的。3.3需求分析需求分析是一個軟件項目開發(fā)周期中最重要的一步,需求分析工作的優(yōu)劣完全影響到中后期項目能否順利完成和項目能否達到用戶的預(yù)期要求。需求分析的基本任務(wù)是確定系統(tǒng)在實現(xiàn)后要實現(xiàn)哪些功能,是以后系統(tǒng)實現(xiàn)的基礎(chǔ)和明確系統(tǒng)開發(fā)結(jié)束后的一個標(biāo)準(zhǔn)。3.3.1功能需求本設(shè)計是一個具有交友聊天的Android平臺的應(yīng)用軟件,用戶群體年齡不受限。智能手機的普及,各種應(yīng)用軟件層出不窮,我們習(xí)慣了常用的QQ、微信和微博,現(xiàn)在我們所開發(fā)的基于Android平臺的百度云推送聊天交友APP同樣可以滿足用戶交友聊天的需求,同時它還可以推薦給用戶具有相同興趣愛好的朋友。本系統(tǒng)共設(shè)計出六大功能模塊,分別是用戶注冊模塊、用戶登錄模塊、用戶信息管理模塊、聊天管理模塊、好友管理模塊和好友推薦模塊。系統(tǒng)的所有功能模塊的說明如表3.1所示。表3.1功能模塊表功能模塊功能劃分簡要描述用戶注冊模塊用戶注冊使用該聊天APP時需要分別輸入用戶名、性別和登錄密碼來注冊一個用戶用戶登錄模塊用戶登錄在用戶已經(jīng)注冊或是退出系統(tǒng)后需要登錄的時候需要輸入與注冊時設(shè)置密碼相匹配才能登陸成功用戶信息管理模塊頭像管理用戶頭像修改昵稱備注管理用戶備注和昵稱修改密碼管理用戶密碼修改其他管理用戶個性簽名、地址等管理聊天管理模塊發(fā)送文字在鍵盤上書寫出需要發(fā)送的文字信息點擊發(fā)送發(fā)送圖片選擇數(shù)據(jù)庫中或者是本地存儲的圖片點擊發(fā)送發(fā)送表情選擇已經(jīng)收藏或者數(shù)據(jù)庫中的表情點擊發(fā)送好友推薦模塊推薦好友推薦具有共同興趣愛好的用戶好友管理模塊修改信息修改好友顯示得信息,昵稱等查詢好友通過好友昵稱或者ID查詢是否存在這位好友添加好友通過查詢好友點擊添加好友按鈕添加好友刪除好友選擇系統(tǒng)上存在的好友點擊刪除按鈕執(zhí)行刪除對應(yīng)的系統(tǒng)總體功能如圖3.1所示:用戶注冊用戶注冊頭像管理用戶登錄頭像管理用戶登錄昵稱備注管理昵稱備注管理用戶信息管理用戶信息管理密碼管理修改信息密碼管理修改信息客戶端客戶端添加好友其他管理添加好友其他管理好友管理好友管理文字文字刪除好友刪除好友圖片聊天管理圖片聊天管理查詢好友查詢好友表情好友推薦好友推薦好友推薦表情好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦圖3.1系統(tǒng)總體功能圖3.3.2用例分析1、用戶注冊模塊此模塊是根據(jù)系統(tǒng)具體的操作流程所設(shè)計,幾乎所有的聊天系統(tǒng)都需要進行這一環(huán)節(jié),用戶需要輸入有效的用戶名和密碼,點擊注冊按鈕,系統(tǒng)才會自動的將用戶的個人信息納入數(shù)據(jù)庫然后用戶成功注冊。其用例圖如圖3.2所示。 圖3.2用戶注冊用例圖(1)昵稱/ID用例簡要描述設(shè)置昵稱或者ID事件流(詳細描述)1、用戶輸入個人喜歡的昵稱或者ID2、操作后數(shù)據(jù)庫作相應(yīng)的更新(2)密碼用例簡要描述設(shè)置密碼事件流(詳細描述)1、用戶輸入個人喜歡的密碼2、操作后數(shù)據(jù)庫作相應(yīng)的更新(3)選擇性別用例簡要描述選擇性別事件流(詳細描述)1、用戶選擇系統(tǒng)給出的性別選項,選擇男性/女性2、操作后數(shù)據(jù)庫作相應(yīng)的更新2、用戶登錄模塊用戶登錄需要輸入與注冊時成功納入數(shù)據(jù)庫的昵稱、ID或者和密碼相匹配才能登錄到系統(tǒng)中。其用例圖如圖3.3所示。圖3.3用戶登錄用例圖昵稱/ID用例簡要描述輸入昵稱或者ID事件流(詳細描述)1、用戶通過昵稱或者ID驗證登陸系統(tǒng)2、操作后調(diào)用數(shù)據(jù)庫用戶信息密碼用例簡要描述輸入密碼事件流(詳細描述)1、用戶通過密碼驗證登陸系統(tǒng)2、操作后調(diào)用數(shù)據(jù)庫用戶信息3、用戶信息管理管理模塊用戶登錄到系統(tǒng)中后,就擁有以下權(quán)限,共包括4個部分,分別是頭像管理、昵稱備注管理、密碼管理和員其他管理。其用例圖如圖3.4所示。圖3.4用戶信息管理用例圖(1)頭像管理用例簡要描述頭像修改事件流(詳細描述)1、用戶修改頭像2、操作后數(shù)據(jù)庫作相應(yīng)的更新(2)昵稱備注管理用例簡要描述對昵稱和備注進行修改事件流(詳細描述)1、用戶對自己的昵稱和群內(nèi)自己的備注進行修改2、操作后進行相應(yīng)的數(shù)據(jù)庫更新(3)密碼管理用例簡要描述密碼的找回和修改事件流(詳細描述)1、用戶對個人密碼修改和忘記密碼時找回2、操作后進行相應(yīng)的數(shù)據(jù)庫更新(4)其他管理用例簡要描述對其他信息修改事件流(詳細描述)1、用戶對個人其他信息修改,包括地址和個性簽名等2、操作后進行相應(yīng)的數(shù)據(jù)庫更新4、聊天管理模塊聊天管理主要是對發(fā)送聊天信息管理,用戶可以自主選擇需要發(fā)送的文字、圖片和表情發(fā)送給其他用戶。其用例圖如圖3.5所示。圖3.5聊天管理用例圖(1)文字用例簡要描述用戶發(fā)送文字信息事件流(詳細描述)1、用戶輸入文字發(fā)送給其他用戶2、發(fā)送后進行相應(yīng)的數(shù)據(jù)庫更新(2)圖片用例簡要描述用戶發(fā)送圖片信息事件流(詳細描述)1、用戶選擇數(shù)據(jù)庫或者本地圖片發(fā)送給其他用戶2、發(fā)送后進行相應(yīng)的數(shù)據(jù)庫更新表情用例簡要描述用戶發(fā)送表情信息事件流(詳細描述)1、用戶選擇數(shù)據(jù)庫或者已經(jīng)收藏了的表情發(fā)送給其他用戶2、發(fā)送之后進行相應(yīng)的數(shù)據(jù)庫更新5、好友推薦模塊好友推薦主要是針對于數(shù)據(jù)庫中已經(jīng)存在并且和該用戶有某種相似(如:地址相同、興趣愛好相同等)之處的用戶進行推薦。其圖如圖3.6所示。圖3.6好友推薦用例圖(1)推薦用戶管理用例簡要描述推薦用戶事件流(詳細描述)1、系統(tǒng)對用戶有選擇性的推薦其他用戶2、操作后用戶推薦列表里的好友更新好友管理模塊 好友管理模塊是指用戶登錄到系統(tǒng)中,對好友進行的查詢、添加、刪除和修改信息的操作。其對應(yīng)的用例圖如圖3.7所示。圖3.7好友管理用例圖(1)查詢好友用例簡要描述查找好友事件流(詳細描述)1、用戶通過輸入用戶昵稱或者用戶ID查找好友2、數(shù)據(jù)庫調(diào)用用戶信息(2)添加好友用例簡要描述添加好友事件流(詳細描述)1、用戶通過輸入用戶昵稱或者用戶ID查找好友點擊添加按鈕2、操作成功后用戶好友列表更新(3)刪除好友用例簡要描述刪除好友事件流(詳細描述)1、用戶選定好友列表中的好友,點擊刪除按鈕2、操作成功后用戶好友列表更新(4)信息修改用例簡要描述修改好友信息事件流(詳細描述)1、用戶選定好友列表中的好友,選擇修改好友的備注等信息2、操作成功后用戶好友列表更新3.3.3性能需求與非功能需求1)真實性對于通過本應(yīng)用軟件注冊的信息和個人情況,其真實的基本信息都按照用戶戶輸入的存檔。2)可靠性對用戶輸入的數(shù)據(jù)要有嚴格的防錯和校驗措施,用戶在輸入或者是更改個人數(shù)據(jù)時,數(shù)據(jù)庫能及時響應(yīng)并且更新,確保數(shù)據(jù)的一致性。3)安全性本系統(tǒng)的用戶所注冊的信息會永遠保存在數(shù)據(jù)庫中不會丟失,只有用戶本人登錄應(yīng)用后才能修改,數(shù)據(jù)的安全性得到保證。4)保密性每個用戶注冊的基本信息納入數(shù)據(jù)庫后,數(shù)據(jù)庫會讓用戶個人信息其他用戶不可見,只有用戶本人才能執(zhí)行與其相關(guān)的操作,在登錄時,需要輸入的數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)相匹配才能成功登錄。3.3.4用戶或人的因素在用戶輸入的數(shù)據(jù)不符合系統(tǒng)規(guī)定或者是執(zhí)行了錯誤的操作的時候,系統(tǒng)會給出相應(yīng)的提示,即使是對Android手機不太熟悉的用戶使用也應(yīng)該不存在問題。3.4小結(jié)這一章對本系統(tǒng)的需求分析進行了大致的概述,先概述了系統(tǒng)的主要目標(biāo)和系統(tǒng)的業(yè)務(wù)流程,使得本系統(tǒng)的總體一目了然,然后用一些用例圖和用例描述來詳細描述系統(tǒng)中一些主要功能的運作方式。

第四章系統(tǒng)設(shè)計4.1總體設(shè)計4.1.1系統(tǒng)設(shè)計指導(dǎo)思想及原則1)實用性這是最主要的設(shè)計原則。以用戶需求為基礎(chǔ),符合用戶的實際需求,確保手機應(yīng)用在用戶中能實現(xiàn)聊天等功能。2)先進性用于開發(fā)本系統(tǒng)的計算機配置要符合第三章所提出的系統(tǒng)開發(fā)環(huán)境的要求。系統(tǒng)開發(fā)架構(gòu)、利用的開發(fā)方法等要具有先進水平[2]。可靠性在執(zhí)行輸入數(shù)據(jù)與系統(tǒng)規(guī)定不相符、必填信息空白等不規(guī)范操作時,要確保系統(tǒng)還能正常運行并能給用戶發(fā)出反饋。安全性根據(jù)Android智能終端聊天應(yīng)用的特點和要求,制定相應(yīng)的安全策略和安全機制,確保用戶輸入的數(shù)據(jù)保密不泄露。友好性確保系統(tǒng)應(yīng)用能讓用戶簡單快捷的掌握使用功能。4.1.2系統(tǒng)功能設(shè)計根據(jù)軟件需求分析,該應(yīng)用軟件的功能主要分為以下六個模塊:1)用戶注冊模塊該功能模塊指使用該聊天APP時需要分別輸入用戶名、性別和登錄密碼來注冊一個用戶。2)用戶登錄模塊該功能模塊是指在用戶已經(jīng)注冊或是退出系統(tǒng)后需要登錄的時候需要輸入與注冊時設(shè)置密碼相匹配才能登陸成功。3)用戶信息管理模塊該功能模塊包括用戶的頭像管理,頭像管理就是修改用戶個人頭像;昵稱備注管理,即用戶對個人的昵稱和在群聊天內(nèi)備注的修改;密碼管理,即用戶對個人登錄密碼的修改;其他管理,即用戶對個人地址、個性簽名等信息的修改。進行這些操作后,數(shù)據(jù)庫進行相應(yīng)的更新。4)聊天管理模塊該功能模塊主要是為了用戶與用戶之間能實現(xiàn)信息交互,其中包括文字、圖片、表情等。5)好友推薦模塊該功能模塊指系統(tǒng)通過調(diào)用用戶的普通信息將有共同興趣愛好的用戶相互推薦。6)好友管理模塊該功能模塊主要針對用戶好友執(zhí)行查、增、刪、改操作。即用戶可以通過輸入其他用戶的昵稱或者ID來找到該用戶;用戶查詢到其他用戶或者是系統(tǒng)推薦的用戶,就可以執(zhí)行添加功能;用戶選定好友列表中的好友執(zhí)行刪除;用戶選定好友列表中的好友執(zhí)行修改備注等操作。系統(tǒng)功能如圖4.1所示:用戶注冊用戶注冊頭像管理用戶登錄頭像管理用戶登錄昵稱備注管理昵稱備注管理用戶信息管理用戶信息管理修改信息密碼管理修改信息密碼管理客戶端客戶端其他管理其他管理添加好友好友管理添加好友好友管理文字文字刪除好友刪除好友圖片聊天管理圖片聊天管理查詢好友查詢好友表情好友推薦好友推薦好友推薦表情好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦好友推薦圖4.1系統(tǒng)功能圖4.2詳細設(shè)計 此部分對系統(tǒng)的業(yè)務(wù)處理流程和操作流程進行分析和設(shè)計,并細化各模塊的功能。4.2.1系統(tǒng)流程系統(tǒng)流程就是用戶使用該應(yīng)用軟件是需要按照系統(tǒng)的哪些功能步驟進行操作。用戶登錄操作流程如圖4.2所示:圖4.1用戶登錄操作流程圖注冊用戶操作流程如圖4.2所示:開始開始注冊F注冊T注冊為新用戶F注冊為新用戶修改信息XI功能1登錄T修改信息XI功能1登錄功能2T功能2好友管理F好友管理T聊天結(jié)束功能3F聊天結(jié)束功能3T圖4.2用戶注冊操作流程圖

4.2.2接口設(shè)計系統(tǒng)分為服務(wù)器端模塊與客戶端模塊,其其接口通過應(yīng)用首頁連接。如下表:1.注冊用戶如表4.1所示:用戶接口語法結(jié)構(gòu)軟件回答信息注冊用戶登錄輸入用戶名(UserName)輸入密碼(Pwd)進入用戶操作頁面輸入修改用戶信息點擊確定進入修改該注冊用戶信息界面點擊輸入框搜索好友進入顯示好友列表界面輸入賬號點擊添加好友按鈕將添加新的好友點擊刪除好友按鈕刪除好友點擊好友推薦按鈕進入推薦好友界面點擊發(fā)送信息按鈕發(fā)送聊天信息表4.1注冊用戶表

4.3運行設(shè)計4.3.1主要模塊實現(xiàn)邏輯1.用戶注冊模塊如圖4.3所示:開始開始以注冊用戶名在UserInfo表中查找該用戶存在TF錯誤提示結(jié)束非空項非空?錯誤提示TF插入注冊信息到User表提示注冊成功跳轉(zhuǎn)頁面圖4.3.用戶注冊模塊 2.用戶登錄模塊如圖4.4所示:開始開始以用戶名在UserInfo表中查找該用戶存在T保存對應(yīng)的密碼錯誤提示與輸入密碼一致?錯誤提示結(jié)束跳轉(zhuǎn)頁面TF保存UserIDF圖4.4戶登錄模塊 3.搜索好友模塊如圖4.5所示:輸入搜索好友名字或者賬號客戶端將輸入內(nèi)容以字節(jié)流發(fā)送至服務(wù)器輸入搜索好友名字或者賬號客戶端將輸入內(nèi)容以字節(jié)流發(fā)送至服務(wù)器服務(wù)器響應(yīng)請求,將搜索結(jié)果列表造型,發(fā)送信息至服務(wù)器響應(yīng)請求,將搜索結(jié)果列表造型,發(fā)送信息至客戶端客戶端將所得結(jié)果在客戶端界面客戶端將所得結(jié)果在客戶端界面顯示在客戶端選擇正確的好友在客戶端選擇正確的好友顯示好友詳細信息顯示好友詳細信息選擇查看好友選擇查看好友圖4.5搜索好友模塊4.添加好友模塊如圖4.6所示:客戶端響應(yīng)本地請求,讀取本地文件點擊添加好友車Tab客戶端響應(yīng)本地請求,讀取本地文件點擊添加好友車Tab獲取添加好友的信息獲取添加好友的信息數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器數(shù)據(jù)發(fā)送至服務(wù)器服務(wù)器讀取數(shù)據(jù),寫入數(shù)據(jù)庫服務(wù)器讀取數(shù)據(jù),寫入數(shù)據(jù)庫圖4.6添加好友模塊 4.3.2出錯處理設(shè)計錯誤登錄信息系統(tǒng)提示錯誤登錄信息系統(tǒng)返回登錄界面非法進入管理員操作頁面系統(tǒng)提示非法進入信息返回管理員登錄頁面非法進入用戶頁面系統(tǒng)提示非法進入信息返回首頁4.4數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計在一個系統(tǒng)開發(fā)周期中是相當(dāng)?shù)闹匾h(huán)節(jié),數(shù)據(jù)庫設(shè)計的好壞直接影響到系統(tǒng)是否能順暢運行,數(shù)據(jù)更新是否及時等。該環(huán)節(jié)為后面的具體實現(xiàn)環(huán)節(jié)打下基礎(chǔ)。本項目軟件服務(wù)器端主要采用百度云服務(wù)器,數(shù)據(jù)庫采用的是sqlite,該階段分為邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計兩個方面。4.4.1邏輯結(jié)構(gòu)設(shè)計本系統(tǒng)所有信息主要存儲到以下這四張表中,分別為: (1)注冊用戶信息表:即用于記錄app用戶注冊的相關(guān)信息; (2)好友信息表:用于記錄聯(lián)系人的相關(guān)信息; (3)通訊信息表:存儲的是用戶與聯(lián)系人的信息; (4)聊天會話信息表:主要存儲用戶和好友的會話信息;4.4.2E-R圖E-R圖(實體—關(guān)系圖)是最直觀的一種表現(xiàn)方法,設(shè)計者可以通過它直接反映出實體間的關(guān)系,它能將用戶的數(shù)據(jù)要求明確地表達出來。4.7實體關(guān)聯(lián)圖1.用戶屬性如圖4.8所示:用戶用戶用戶ID密碼用戶昵稱性別所在城市手機號碼4.8用戶屬性圖2.好友屬性如圖4.9所示:好友好友好友ID昵稱備注備注備注備注備注備注備注備注備注備注備注備注描述頭像4.9好友屬性圖3.聊天會話屬性如圖4.10所示:聊天會話聊天會話擁有者ID好友ID數(shù)據(jù)ID會話消息數(shù)目會話最后時間會話創(chuàng)建時間消息類型會話最后內(nèi)容4.10聊天會話屬性圖4.通訊消息屬性如圖4.11所示:通訊消息通訊消息消息ID聯(lián)系人ID數(shù)據(jù)ID發(fā)送狀態(tài)消息時間消息類型4.11通訊信息屬性圖4.4.3數(shù)據(jù)庫物理設(shè)計為了將在系統(tǒng)在運行過程中產(chǎn)生的數(shù)據(jù)納入后臺,便于數(shù)據(jù)庫數(shù)據(jù)更新,因此,將E-R圖轉(zhuǎn)換成關(guān)系模型,即在數(shù)據(jù)庫中建立實體關(guān)系表。1、用戶信息表如表4-4-1所示:功能:用戶表用來保存所有用戶的信息。列名數(shù)據(jù)類型說明useridIntprimarykeyauto_increment用戶IDusernamevarchar用戶昵稱pwdvarchar密碼phonevarchar用戶手機號碼sexvarchar性別addressvarchar用戶所在城市表4-4-1用戶信息表3、好友信息表如表4-4-2所示:功能:好友信息用來保存所有好友的信息。列名數(shù)據(jù)類型說明idIntprimarykeyauto_increment用戶IDNamevarchar名稱nichengvarchar昵稱numberInt號碼picturevarchar頭像sexvarchar性別表4-4-2好友信息表4、聊天會話信息表如表4-4-3所示:功能:聊天會話信息表用來保存所有聊天會話的信息。列名數(shù)據(jù)類型說明Id_ownerIntprimarykeyauto_increment擁有者IDdataIdint數(shù)據(jù)IDuserIdint好友IDcontentvarchar會話內(nèi)容timedata會話時間tyoevarchar會話類型countint會話數(shù)目表4-4-3聊天會話信息表4.5小結(jié)這一章對本系統(tǒng)的后臺系統(tǒng)設(shè)計做了詳細的概述,包括系統(tǒng)總體設(shè)計、系統(tǒng)詳細設(shè)計和數(shù)據(jù)設(shè)計。在系統(tǒng)總體設(shè)計和詳細設(shè)計中,用功能樹來展示了本系統(tǒng)的主要功能,在數(shù)據(jù)庫設(shè)計中,畫E-R圖展現(xiàn)出概念模型之間的關(guān)系,并畫出每一個數(shù)據(jù)表的數(shù)據(jù)內(nèi)容。

第五章系統(tǒng)的功能實現(xiàn) 此部分對系統(tǒng)實現(xiàn)的重要部分進行了闡述,同時附有部分重要代碼以及解釋,是系統(tǒng)在開發(fā)過程中難點的說明。5.1APP首頁模塊的實現(xiàn)系統(tǒng)歡迎界面如圖5.1所示:圖5.1APP首頁5.2個人信息設(shè)置管理模塊的的實現(xiàn)個人信息設(shè)置管理模塊的功能包括用戶昵稱修改,密碼修改、心情修改,此外還包括好友添加驗證等功能。個人信息設(shè)置管理模塊的實現(xiàn)如圖5.2、5.3所示:圖5.2昵稱修改頁面圖5.3個人設(shè)置管理模塊頁面截圖主要代碼:privateHandlermHandler=newHandler(){ @Override publicvoidhandleMessage(Messagemsg){ super.handleMessage(msg); switch(msg.what){ caseLOGIN_OUT_TIME: if(mLoginOutTimeProcess!=null &&mLoginOutTimeProcess.running) mLoginOutTimeProcess.stop(); if(mConnectServerDialog!=null &&mConnectServerDialog.isShowing()) mConnectServerDialog.dismiss(); if(task!=null) task.stop(); T.showShort(FirstSetActivity.this,"登錄超時,請重試"); break; default: break; } } }; @Override protectedvoidonCreate(BundlesavedInstanceState){ //TODOAuto-generatedmethodstub super.onCreate(savedInstanceState); setContentView(R.layout.first_set_layout); initData(); initView(); }5.3好友信息管理模塊的的實現(xiàn)好友信息管理模塊的功能主要包括:好友的查找、添加、刪除和信息修改等功能。好友信息管理模塊的實現(xiàn)如圖5.4、5.5所示:圖5.4好友管理頁面圖5.5好友列表頁面關(guān)鍵代碼:privateHandlerhandler=newHandler(){ publicvoidhandleMessage(Messagemsg){ switch(msg.what){ caseNEW_FRIEND: Useru=(User)msg.obj; //mUserDB.addUser(u); if(mLeftFragment==null) mLeftFragment=(LeftFragment)getSupportFragmentManager() .findFragmentById(R.id.main_left_fragment); mLeftFragment.updateAdapter();//更新 T.showShort(mApplication,"好友列表已更新!"); break; caseNEW_MESSAGE: //Stringmessage=(String)msg.obj; com.way.bean.MessagemsgItem=(com.way.bean.Message)msg.obj; StringuserId=msgItem.getUser_id(); Stringnick=msgItem.getNick(); Stringcontent=msgItem.getMessage(); intheadId=msgItem.getHead_id(); //try{ //headId=Integer //.parseInt(JsonUtil.getFromUserHead(message)); //}catch(Exceptione){ //L.e("headisnotinteger"+e); //} if(mUserDB.selectInfo(userId)==null){//如果不存在此好友,則添加到數(shù)據(jù)庫 Useruser=newUser(userId,msgItem.getChannel_id(),nick, headId,0); mUserDB.addUser(user); mLeftFragment=(LeftFragment)getSupportFragmentManager() .findFragmentById(R.id.main_left_fragment); mLeftFragment.updateAdapter();//更新一下好友列表 } //TODOAuto-generatedmethodstub MessageItemitem=newMessageItem( MessageItem.MESSAGE_TYPE_TEXT,nick, System.currentTimeMillis(),content,headId,true,1); mMsgDB.saveMsg(userId,item); //保存到最近會話列表 RecentItemrecentItem=newRecentItem(userId,headId,nick, content,0,System.currentTimeMillis()); mRecentDB.saveRecent(recentItem); mAdapter.addFirst(recentItem); T.showShort(mApplication,nick+":"+content); break; default: break; } }5.4通信聊天模塊的的實現(xiàn)好友之間可以發(fā)送即時通訊信息,聊天內(nèi)容可以是文字、也可以是圖片或者表情。通信聊天模塊的實現(xiàn)如圖5.6所示:圖5.6訂通信聊天頁面截圖關(guān)鍵代碼:privatevoidparseMessage(Messagemsg){ Gsongson=PushApplication.getInstance().getGson(); //Messagemsg=gson.fromJson(message,Message.class); L.i("gson===="+msg.toString()); Stringtag=msg.getTag(); StringuserId=msg.getUser_id(); intheadId=msg.getHead_id(); //try{ //headId=Integer.parseInt(JsonUtil.getFromUserHead(message)); //}catch(Exceptione){ //L.e("headisnotaInteger"); //} if(!TextUtils.isEmpty(tag)){//如果是帶有tag的消息 if(userId.equals(PushApplication.getInstance().getSpUtil().getUserId())) return; Useru=newUser(userId,msg.getChannel_id(),msg.getNick(), headId,0); PushApplication.getInstance().getUserDB().addUser(u);//存入或更新好友 for(EventHandlerhandler:ehList) handler.onNewFriend(u); if(!tag.equals(RESPONSE)){ //IntentintenService=new //Intent(PushApplication.getInstance(), //PreParseService.class); //intenService.putExtra("message",message); //PushApplication.getInstance().startService(intenService);// //啟動服務(wù)去回消息 //L.i("啟動服務(wù)回復(fù)消息"); L.i("responsestart"); Messageitem=newMessage(System.currentTimeMillis(),"hi", PushMessageReceiver.RESPONSE);new(gson.toJson(item),userId).send();//同時也回一條消息給對方1 L.i("responseend"); }5.5好友推薦模塊的的實現(xiàn)好友推薦就是系統(tǒng)會根據(jù)用戶的興趣愛好,為用戶推薦具有相同興趣愛好的朋友。好友推薦模塊的實現(xiàn)如圖5.7所示:圖5.7好友推薦頁面截圖關(guān)鍵代碼:protectedvoidonResume(){ super.onResume(); if(!NetUtil.isNetConnected(this)) mNetErrorView.setVisibility(View.VISIBLE); else mNetErrorView.setVisibility(View.GONE); } privatevoidinitData(){ //TODOAuto-generatedmethodstub mApplication=PushApplication.getInstance(); mLoginOutTimeProcess=newLoginOutTimeProcess(); mSpUtil=mApplication.getSpUtil(); mGson=mApplication.getGson(); mUserDB=mApplication.getUserDB(); PushMessageReceiver.ehList.add(this);//監(jiān)聽推送的消息 } @Override protectedvoidonDestroy(){ //TODOAuto-generatedmethodstub super.onDestroy(); if(task!=null) task.stop(); PushMessageReceiver.ehList.remove(this);//注銷推送的消息 } privatevoidinitView(){ mNetErrorView=findViewById(R._status_bar_top); mTitle=(TextView)findViewById(R.id.ivTitleName); mTitle.setVisibility(View.VISIBLE); mTitle.setText(R.string.first_start_title); mNetErrorView.setOnClickListener(this); mFirstStartBtn=(Button)findViewById(R.id.first_start_btn); mFirstStartBtn.setOnClickListener(this); mNickEt=(EditText)findViewById(R.id.nick_ed); mNickEt.setText(mSpUtil.getNick()); mHeadWheel=(WheelView)findViewById(R.id.acount_head); mSexWheel=(WheelView)findViewById(R.id.acount_sex); mHeadWheel.setViewAdapter(newHeadAdapter(this)); mSexWheel.setViewAdapter(newSexAdapter(this)); }5.6小結(jié)這一章對本系統(tǒng)各個功能的具體實現(xiàn)和利用到的哪些關(guān)鍵代碼。

第六章系統(tǒng)的測試與維護6.1測試方法從軟件質(zhì)量實現(xiàn)保證來說,每一個項目開發(fā)都要對系統(tǒng)進行測試。驗證系統(tǒng)是否達到用戶的預(yù)期要求和功能上是否存在缺陷。軟件測試的方法主要分為白盒測試和黑盒測試。這兩種測試的區(qū)別在于,白盒測試是透明的測試,即測試人員可以看到內(nèi)部代碼實現(xiàn)的具體結(jié)構(gòu),對代碼的邏輯、結(jié)構(gòu)等進行一一排查;而運用黑盒測試時,測試人員是看不到具體的代碼設(shè)計是如何實現(xiàn)的,只能通過系統(tǒng)具體實現(xiàn)的各個功能進行逐一測試。本系統(tǒng)運用黑盒測試方法進行測試。6.2單元測試實例測試一:用戶注冊時,用戶輸入的用戶名或者用戶ID、密碼和性別選擇其中一項為空時,系統(tǒng)是否做出預(yù)期的響應(yīng)。預(yù)期效果:輸入為空及時提示輸入不正確。具體操作:用戶輸入的用戶名或者用戶ID、密碼和性別選擇其中一項為空。結(jié)果:系統(tǒng)提示輸入不正確,信息不能為空!結(jié)論:用戶注冊所需要填寫的信息不能為空。測試二:用戶登錄時,用戶名或密碼其中一項為空或者填寫錯誤,系統(tǒng)是否提示操作錯誤。預(yù)期效果:輸入信息錯誤或為空及時報錯。具體操作:用戶名、密碼任意一項為空或者錯誤填寫。結(jié)果:都出現(xiàn)相應(yīng)的錯誤原因的信息提示。結(jié)論:用戶必須填寫正確的用戶名和密碼,才能進入系統(tǒng)頁面,測試成功。測試三:用戶刪除一好友后,發(fā)送聊天信息,看是否能正常聊天。預(yù)期效果:聊天信息發(fā)送失敗。具體操作:用戶刪除一好友表中的好友。結(jié)果:無法向被刪除的好友發(fā)送信息。結(jié)論:用戶好友刪除功能正常,測試成功。測試四:用戶通過輸入賬號信息,添加一好友對方同意后看其是否成功。預(yù)期效果:能在好友列表中找到該好友。具體操作:添加好友。結(jié)果:好友列表中顯示該好友。結(jié)論:添加好友成功。測試五:用戶搜索好友列表中某一好友的信息,在好友列表搜索框按關(guān)鍵字查詢,是否能找到對應(yīng)的信息。預(yù)期效果:用戶不能查找到該好友。具體操作:在好友列表中搜索一存在的好友結(jié)果:顯示該好友信息。結(jié)論:功能正常,測試成功。測試六:用戶在群聊天中發(fā)送聊天信息預(yù)期效果:群中好友能看到該信息并能發(fā)送對話信息。具體操作:用戶在所加的群組中發(fā)送一聊天信息。結(jié)果:另一群中用戶可以看到該信息。結(jié)論:群聊功能正常,測試成功。6.3系統(tǒng)維護系統(tǒng)維護是指軟件發(fā)布后需要提升性能、糾正錯誤或其他屬性所進行的軟件修改。主要包括四個方面:程序維護:發(fā)布的軟件已經(jīng)發(fā)生了條件性的變化或系統(tǒng)運行的效率差的情況下進行。(2)數(shù)據(jù)文件維護:按照用戶的要求對數(shù)據(jù)文件進行不定期的修改。(3)代碼維護:一般在軟件更新時對部分或全部的代碼進行修改。(4)硬件維護:對系統(tǒng)所使用的設(shè)備維護。

6.4小結(jié)這一章對本系統(tǒng)實現(xiàn)后進行一系列的測試,確保系統(tǒng)的實現(xiàn)是否達到預(yù)期要求和實現(xiàn)的功能等方面是否存在缺陷。

第七章總結(jié)與展望經(jīng)歷了一個學(xué)期的開發(fā),本次畢業(yè)設(shè)計“基于Android平臺的百度云推送聊天交友APP”到此已經(jīng)順利結(jié)束,在這過程中我也有了一些總結(jié)和展望。7.1總結(jié)大學(xué)四年的學(xué)習(xí)中,作為我們軟件工程專業(yè)的學(xué)生,我們學(xué)習(xí)了很多軟件項目開發(fā)的課程,其中包括軟件工程、數(shù)據(jù)結(jié)構(gòu)和C#、JAVA等開發(fā)語言,原本以為大學(xué)期間學(xué)習(xí)了這么多東西就能足夠的完成一個簡單的項目,但是結(jié)果證明,學(xué)校中學(xué)習(xí)了知識和實戰(zhàn)開發(fā)項目這是兩碼事。在基于Android平臺的百度云推送聊天交友APP此項目的開發(fā)過程中,雖然我屢次碰壁,但是我也從中學(xué)會了很多的東西:一個軟件項目的開發(fā)過程必須按照嚴格的一個軟件工程過程管理來進行開發(fā)才能順利完成。從項目開發(fā)的一開始我們要先做市場調(diào)研,了解項目開發(fā)的可行性,寫出相應(yīng)的可行性分析文檔;然后了解用戶的需求和系統(tǒng)最終需要實現(xiàn)哪些功能等,完成項目的需求分析并寫出相應(yīng)的需求分析文檔;而之后的系統(tǒng)設(shè)計和代碼實現(xiàn)等環(huán)節(jié)必須緊緊圍繞需求分析來進行。在此項目的開發(fā)過程中讓我認識到要完成一個項目最重要的因素并不是個人的編碼能力,而是文檔的編寫。只有寫出好的需求文檔、設(shè)計出好的項目架構(gòu)才能更順利和更好的完成項目。完成一件事情是非常簡單的,但是要很好地完成一件事情那是相當(dāng)?shù)睦щy,沒有堅持不懈和勇于拼搏的精神是很難順利的實現(xiàn)初期制定的目標(biāo)?;贏ndroid平臺的百度云推送聊天交友APP在功能的實現(xiàn)上基本完成,但是由于我開發(fā)能力有限和開發(fā)經(jīng)驗不足,導(dǎo)致系統(tǒng)還存在還村子許多問題,與實際運用還有一定的差距,系統(tǒng)的功能也需要改進。7.2展望大學(xué)生活的結(jié)束并不代表學(xué)習(xí)就此結(jié)束,作為軟件工程(IT行業(yè))學(xué)生的我,即使畢業(yè)后我從事的行業(yè)可能和大學(xué)專業(yè)不相關(guān),但我也需要適應(yīng)社會和時代的進步,我對將來社會以及個人有以下展望:總體而言,現(xiàn)中國國內(nèi)的計算機開發(fā)水平雖然一直在迅猛的提高,但是和歐美等發(fā)達國家還存在一定的差距,希望國內(nèi)不斷培養(yǎng)出高水平、高素質(zhì)的IT尖端技術(shù)人才,帶領(lǐng)我國IT技術(shù)向世界發(fā)達國家靠攏?,F(xiàn)在很多人都偏愛于使用無線移動終端設(shè)備訪問網(wǎng)絡(luò),隨時隨地都可以進行人人信息交互或者人機信息的交互,希望我們能開發(fā)出更多而且更完善,適合各個年齡段人們使用的終端應(yīng)用,包括即時聊天應(yīng)用APP等。就個人而言,我無論現(xiàn)在還是以后都會認真的學(xué)習(xí),把握更多的機會參加實際的項目開發(fā)中,提高自己的編碼能力,同提高自己項目開發(fā)系統(tǒng)分析的能力,和開發(fā)經(jīng)驗,讓自己在以后社會上能更好的發(fā)展。

參考文獻[1]薩師煊,王珊,數(shù)據(jù)庫系統(tǒng)概論(第3版),北京高等教育出版社,2000[2]

張峰玲.數(shù)據(jù)庫應(yīng)用的需求分析研究[M].計算機工程與應(yīng)用,2002(18)

[3]

Bruce

Eckel《Java編程思想》機械工業(yè)出版社,2005.5

[4]公磊,周聰.基于Android的移動終端應(yīng)用程序開發(fā)與研究[J].計算機與現(xiàn)代化,2008(8):85-89.[5]高煥堂.Android應(yīng)用框架原理與程式設(shè)計36技[M/OL].Google公司,2008:132-150.[6]馬越.Android的架構(gòu)與應(yīng)用[D].北京:中國地質(zhì)大學(xué)(北京)碩士學(xué)位論文,2008:9-20.[7]楊云君.Android的設(shè)計與實現(xiàn)[M].北京:機械工業(yè)出版社,2013:5-65.[8]鐘茂生,王明文.軟件設(shè)計模式及其使用[J].計算機應(yīng)用,2002,22(8):32-33.[9]柯元旦.Android內(nèi)核剖析[M].北京:電子工業(yè)出版社,2011:67-98.[10]李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2013:12-87.[11]韓超,梁全,Android

系統(tǒng)原理及開發(fā)要點詳解[M],北京:電子工業(yè)出版社,2009:16-102.

致謝在此要特別感謝我的指導(dǎo)老師對我悉心的指導(dǎo),感謝老師給我的幫助。在設(shè)計過程中,我通過查閱大量有關(guān)資料,與同學(xué)交流經(jīng)驗和自學(xué),并向老師請教等方式,使自己學(xué)到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個設(shè)計中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設(shè)計的一些功能做的還不夠完善,但是在設(shè)計過程中所學(xué)到的東西是這次畢業(yè)設(shè)計的最大收獲和財富,使我終身受益。所以我再次衷心地感謝老師和我的同學(xué)們,謝謝大家。基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務(wù)器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設(shè)計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機的遠程抄表系統(tǒng)的設(shè)計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設(shè)計和應(yīng)用基于單片機的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設(shè)計Pico專用單片機核的可測性設(shè)計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構(gòu)建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學(xué)生單片機應(yīng)用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設(shè)計HYPERLINK"/d

溫馨提示

  • 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

提交評論