




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于Android的校園聊天軟件的設(shè)計與實現(xiàn)
DesignandImplementationofCampusChatSoftwareBasedonAndroid摘要
在智能手機中,Android平臺約占75%市場份額。安卓系統(tǒng)的廣泛應(yīng)用,使得Android手機應(yīng)用程序的數(shù)量迅速增長,即時通訊APP的應(yīng)用范圍也愈加廣泛。另首先,高校師生需要在教學(xué)過程中加強溝通,而開發(fā)一款智能手機的校園聊天APP則可以滿足這一需要,彌補老式教學(xué)形式的局限性。
本文意在設(shè)計并實現(xiàn)一種基于Android的校園聊天軟件。本文在對校園聊天客戶端進行調(diào)查研究基礎(chǔ)上,進行了需求分析和系統(tǒng)設(shè)計,深入完畢了UI界面設(shè)計,在Eclipse中使用Java語言實現(xiàn)了APP各個功能模塊。APP的IM通信部分基于第三方通信云SDK進行開發(fā)。該APP的功能重要包括顧客登錄、注冊、聊天框架、通訊錄管理、個人信息管理等功能模塊。
基于Android平臺校園聊天軟件將為管理者、教師、學(xué)生之間提供一種高效的溝通平臺,它的實行將有助于加強對教育教學(xué)過程的監(jiān)督,增進師生之間、學(xué)生之間的學(xué)習(xí)交流,增強教學(xué)互動性,提高教育教學(xué)效率。
關(guān)鍵詞:Android;校園聊天;智能手機ABSTRACT
Forsmartphones,theAndroidplatformaccountsforabout75%marketshare.TheextensiveapplicationoftheAndroidsystemallowsthenumberofAPPsforAndroidcellphonestogrowrapidly.TheapplicationscopeofinstantmessagingAPPshasbecomewideraswell.Itisnecessaryforcollegeteachersandstudentstoenhancecommunicationintheteachingprocess,developingacampuschattingAPPforsmartphonescanexactlymeetthisneedandcompensatefortheinadequaciesofthetraditionalteachingform.
ThispaperaimstodesignakindofAndroid-basedcampuschattingsoftware.Throughthesurveyonthecampuschattingclient,thedemandanalysisandsystematicdesignarecarried,andtheUIinterfacedesignisfurthercompleted.JavalanguageisusedinEclipsetorealizevariousfunctionalmodulesoftheAPP.TheIMpartoftheAPPisbasedonthethird-partycommunicationcloudSDK.FunctionsoftheAPPmainlyincludeuserlogin,registration,chattingframework,addressbookmanagement,andpersonalinformationmanagement.
BasedonthecampuschattingsoftwareoftheAndroidplatform,itistoprovideanefficientcommunicationplatformforschoolmanagers,teachersandstudents,theimplementationofwhichwillfacilitatethesupervisionontheeducationprocessbyschoolsandincreaseacademiccommunicationamongteachersandstudents.Theteachinginteractivitywillbeenhancedalongwiththeimprovementoftheeducationefficiencyaswell.
KeyWords:Android;campuschat;Smartphone目錄
1緒論3
1.1開發(fā)背景3
1.2課題意義3
1.3研究內(nèi)容3
1.4本章小結(jié)4
2軟件需求分析5
2.1技術(shù)簡介5
2.1.1軟件開發(fā)的工具和環(huán)境5
2.1.2Eclipse簡介5
2.1.3安裝JDK和SDK5
2.2需求分析5
2.2.1重要參與者5
2.2.2功能需求6
2.3.3性能需求7
2.3本章小結(jié)7
3軟件設(shè)計8
3.1軟件功能設(shè)計8
3.1.1客戶端功能設(shè)計8
3.1.2服務(wù)器功能設(shè)計12
3.2軟件的數(shù)據(jù)庫設(shè)計12
3.3本章小結(jié)14
4軟件實現(xiàn)16
4.1服務(wù)器端16
4.1.1配置OpenFire服務(wù)器16
4.1.2使用SmackAPI與OpenFire建立連接通信17
4.2客戶端18
4.2.1顧客注冊模塊18
4.2.2顧客登錄模塊20
4.2.3個人信息設(shè)置管理22
4.2.4好友信息管理模塊24
4.3本章小結(jié)30
5軟件測試32
5.1軟件功能測試32
5.1.1顧客注冊模塊測試32
5.1.2顧客登錄塊測試32
5.1.3顧客設(shè)置管理模塊測試33
5.1.4好友管理模塊測試33
5.1.5消息模塊測試34
5.2本章小結(jié)34
結(jié)論35
參照文獻36
附錄:系統(tǒng)重要功能代碼37
致謝481緒論
1.1開發(fā)背景
Android的英文翻譯是指"機器人",而Android這個詞語作為操作系統(tǒng)的名稱出現(xiàn),是google在公布了應(yīng)用在手機平臺上的操作系統(tǒng),自此Android作為手機操作系統(tǒng)出目前人們的視野中。同步由于Android的操作系統(tǒng)的開源性和可開發(fā)性使得以Android操作系統(tǒng)的應(yīng)用軟件日益增多。Android操作系統(tǒng)被越來越多的人接受和使用。
目前的Android聊天軟件基本分為2種架構(gòu)形式:(1)C/S架構(gòu):采用客戶端/服務(wù)器對等傳播的形式,顧客方重要使用客戶端軟件,使用前顧客通過網(wǎng)上下載客戶端軟件,再安裝到手機上進行使用,市場上流行的C/S架構(gòu)的聊天軟件有如下幾種:QQ、微信、微博、YY、MSN等;(2)B/S架構(gòu):瀏覽器/服務(wù)端對等傳播的形式,這種形式下的即時通信工具,一般都是依賴于互聯(lián)網(wǎng),作為顧客無需下載客戶端,顧客一般在瀏覽往網(wǎng)上網(wǎng)頁時瀏覽器會提供一種類似于客戶端的界面使顧客可以發(fā)送消息,此架構(gòu)一般應(yīng)用在數(shù)據(jù)流比較大的電商網(wǎng)站,如WebQQ等。
1.2課題意義
在高校老式教育教學(xué)模式下,普遍存在師生之間就教學(xué)內(nèi)容比較缺乏溝通的現(xiàn)象,教師與學(xué)生之間的關(guān)系日趨淡漠,學(xué)生對老師缺乏敬畏感,老師對學(xué)生缺乏親切感。然而師生之間的溝通對教學(xué)是十分重要的。此外,管理者則但愿加強對教育教學(xué)過程的監(jiān)督管理,籍此提高教學(xué)質(zhì)量,強化教學(xué)效果。
本文研究的校園聊天軟件可認為管理者、教師、學(xué)生之間提供一種高效的溝通平臺,它的實行將有助于加強對教育教學(xué)過程的監(jiān)督,增進師生之間、學(xué)生之間的學(xué)習(xí)交流,增強教學(xué)互動性,提高教育教學(xué)效率。
因此本課題具有重要的實際意義和應(yīng)用價值。
1.3研究內(nèi)容
本文將針對基于Android的校園聊天APP進行需求分析、總體設(shè)計、UI界面設(shè)計、軟件代碼編寫、軟件功能優(yōu)化、軟件測試等工作,實現(xiàn)登錄功能、向XMPP服務(wù)器發(fā)送信息包功能、顧客好友通訊錄獲取及有關(guān)管理功能、個人信息管理功能、好友文字和語音消息發(fā)送功能、圖片文獻發(fā)送功能。
論文的章節(jié)安排如下:
第1章:緒論。重要陳說項目的背景和來源,以及所開發(fā)產(chǎn)品的意義和未來
發(fā)展前景,簡介了國內(nèi)外同類產(chǎn)品的發(fā)展現(xiàn)實狀況,最終闡明論文重要工作,本人在
項目中完畢的功能模塊以及論文的重要構(gòu)造。
第2章:系統(tǒng)有關(guān)技術(shù)簡介以及理論分析。重要簡介項目開發(fā)所使用的技術(shù)
以及軟件的需求分析,包括:Android手機操作系統(tǒng)的架構(gòu)和應(yīng)用程序的分析、軟件的顧客需求分析。
第3章:軟件設(shè)計。對軟件的功能進行概要分析,同步對系統(tǒng)所處的子系統(tǒng)的各個功能進行詳細的簡介。第4章:軟件實現(xiàn)。重要對系統(tǒng)的架構(gòu)、各個模塊的功能劃分以及功能類圖和軟件實現(xiàn)截圖進行詳細簡介。
第5章:系統(tǒng)測試:重要陳說系統(tǒng)的測試用例以及系統(tǒng)的完畢狀況。
第6章:總結(jié)與展望。重要簡介了項目完畢經(jīng)驗,存在的缺陷以及局限性,以及對未來的展望。
1.4本章小結(jié)
本章重要論述了軟件的開發(fā)背景、課題意義和研究能容,通過對上述三部分的詳細分析為需求分析章節(jié)做好準(zhǔn)備。
2軟件需求分析
2.1技術(shù)簡介
2.1.1軟件開發(fā)的工具和環(huán)境
開發(fā)環(huán)境:Eclipse
開發(fā)語言:Java
模擬機平臺:AVD
手機運行平臺:Android2.1以及上版本
開發(fā)軟件所需插件:JDK、SDK
UI界面處理軟件:Photoshopcs5
音頻處理軟件:繪聲繪影X15,格式工廠
輔助設(shè)計工具:ADT、LogCat、adb等
2.1.2Eclipse簡介該軟件主要由Eclipse項目、Eclipse工具項目和Eclipse技術(shù)項目三個項目組成,具體包括四個部分-EclipsePlatform、JDT、CDT和PDE。JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā)、EclipsePlatform則是一個開放的可擴展IDE,提供了一個通用的開發(fā)平臺。
2.1.3安裝JDK和SDK
先從網(wǎng)站上找到JDK1.6(JREaloneisnotsufficient)版本并下載,下載完畢后將它安裝在PC機上并在PC機上設(shè)置好有關(guān)的環(huán)境變量,將JAVA_HOME,path等幾種設(shè)置為合用于Java開發(fā)的環(huán)境變量,最終將其導(dǎo)入你的JDK文獻途徑。
SDK安裝:直接從有關(guān)網(wǎng)站下載好SDK壓縮包,然后打開Eclipse軟件,在其中找到對應(yīng)途徑將其導(dǎo)入就可以。
2.2需求分析
2.2.1重要參與者
根據(jù)軟件設(shè)計的需要,系統(tǒng)重要參與者為顧客和系統(tǒng)。顧客將對系統(tǒng)發(fā)起大部分功能,同步系統(tǒng)的某些設(shè)置信息和更新信息需要系統(tǒng)參與。
(1)顧客:顧客在操作軟件的過程中波及到的軟件功能重要包括:顧客注冊功能、顧客登錄功能、重設(shè)顧客密碼功能、好友列表管理功能、聊天功能等,其中聊天功能包括聊天文字、聊天表情、語音聊天、以及圖片文獻發(fā)送等。
(2)系統(tǒng):系統(tǒng)通過調(diào)用有關(guān)功能模塊將自動登錄顧客賬號、保留顧客注冊時的設(shè)置信息;系統(tǒng)提供后臺的軟件更新功能。
2.2.2功能需求
校園聊天軟件的功能需求包括:顧客注冊、顧客登錄、聊天功能、通訊錄管理、個人信息管理。
(1)顧客注冊
顧客初次進入軟件,需要申請一種顧客名。這就需要顧客通過注冊功能注冊一種可以使用的賬號。
(2)顧客登錄
為了讓軟件使用起來愈加簡便,給顧客帶來良好的交互體驗,系統(tǒng)首先容許顧客采用輸入賬號和密碼的方式進行登錄,另首先也容許記錄帳號信息而自動登錄。
(3)聊天功能
聊天功能是指好友之間的發(fā)送即時消息進行通訊,消息形式可以是文字、語音、表情符號、圖片等等。
(4)通訊錄管理
通訊錄管理功能包括對好友的添加、刪除、查找,顯示好友列表,置頂顯示即時會話等。
(5)個人信息管理
個人管理信息重要是對顧客的頭像、個性簽名、昵稱等進行管理。
圖2-1系統(tǒng)功能模型圖
2.3.3性能需求
根據(jù)以上分析,性能需求重要針對顧客使用軟件的的以便性和系統(tǒng)可靠性等方面進行考慮。在項目設(shè)計中,重要遵照一下原則:
(1)可操作性:顧客對于軟件操作時,界面要簡樸、以便、直觀。操作過程中要有及時的提醒,例如錯誤提醒。從而保證顧客能對的操作軟件。
(2)可移植性:設(shè)計出來的軟件系統(tǒng)要保證在不一樣版本的Android手機上運行不會瓦解,同步保證數(shù)據(jù)的對的性。
(3)實用性:從顧客的實際需求去考慮軟件的功能需求。
(4)安全性:系統(tǒng)要保持數(shù)據(jù)的對的性,在長時間的使用過程中保證系統(tǒng)不易瓦解。同步軟件在運行和不運行時都要保護顧客的注冊信息和軟件通過檢測顧客當(dāng)?shù)匦畔r所獲得的信息都不被泄露,從而保證顧客使用該軟件的安全性。
(5)可靠性:系統(tǒng)要有一套良好的運行環(huán)境。保證系統(tǒng)穩(wěn)定、長時間的運行不出錯,從而使顧客可以放心使用軟件。
(6)可維護性:系統(tǒng)軟件在開發(fā)過程中不僅要保證顧客需求的功能實現(xiàn),還要考慮未來為應(yīng)對顧客需求而更新后續(xù)版本的功能需求,以及功能的擴張性,從而維護好軟件的可持續(xù)性。
2.3本章小結(jié)
本章重要論述了項目方案和需求分析,其中項目方案包括開發(fā)的工具和搭建的環(huán)境簡介;需求分析包括重要參與者、功能需求和性能需求。
重要參與者又包括系統(tǒng)和顧客;功能需求包括顧客注冊、顧客登錄、通訊錄管理、聊天管理、個人信息管理。
3軟件設(shè)計
3.1軟件功能設(shè)計
根據(jù)軟件需求分析,該軟件功能重要分為如下幾種模塊:顧客注冊模塊、顧客登錄模塊、好友管理模塊、顧客信息管理模塊、聊天管理模塊。
如下是系統(tǒng)功能模塊圖,如圖3-1:
圖3-1系統(tǒng)功能模塊圖
3.1.1客戶端功能設(shè)計
根據(jù)上述本軟件需求分析,顧客注冊模塊設(shè)計如下:
(1)顧客運行軟件后需要通過注冊界面注冊賬號從而使用該軟件,之后軟件系統(tǒng)驗證對的后將與服務(wù)器進行通信,將注冊信息發(fā)送給服務(wù)器,服務(wù)器將發(fā)回容許指令。
(2)注冊的顧客名不容許反復(fù),否則服務(wù)器將會報錯。
(3)密碼設(shè)置時,系統(tǒng)規(guī)定輸入兩次密碼,之后服務(wù)器將驗證系統(tǒng)發(fā)過來的密碼包信息。
圖3-2登錄流程圖
根據(jù)上述本軟件需求分析,顧客打開軟件后,顧客將進入登錄頁面,此時只要輸入已注冊的顧客名、顧客密碼就可以登錄成功。顧客登錄模塊設(shè)計如下:
(1)顧客名錯誤:系統(tǒng)提醒該顧客名已存在或不存在即未注冊。此外顧客名必須多于六位數(shù)。否則系統(tǒng)也會提醒錯誤。
(2)密碼驗證錯誤:登錄界面中,當(dāng)顧客登錄時填寫的登錄密碼被系統(tǒng)提醒錯誤的時,顧客需要重新填寫登錄密碼。
(3)其他錯誤:當(dāng)顧客進行某些不妥操作也會引起錯誤。從而導(dǎo)致登錄失敗。
(4)自動登錄功能:每個使用該軟件的顧客在第一次成功登錄后,再次登錄該軟件時,系統(tǒng)都會自動選擇自動登錄。由于系統(tǒng)會把顧客之前的登錄信息緩存到當(dāng)?shù)厥謾C中,下次登錄時軟件系統(tǒng)將自動檢測緩存的信息,從而自動登錄。
圖3-3顧客登錄流程圖
顧客通過轉(zhuǎn)入個人設(shè)置界面進行信息設(shè)置,顧客管理設(shè)置模塊設(shè)計:
(1)顧客頭像管理:顧客可以設(shè)置自己的頭像,上傳方式可以通過當(dāng)?shù)叵鄡院团恼諆煞N方式上傳頭像,上傳成功后系統(tǒng)將保留信息。
(2)顧客昵稱管理:顧客可以設(shè)置自己喜歡的昵稱,用設(shè)英文16個字符,顧客設(shè)置完畢昵稱后,點擊確認按鈕,上傳信息。
(3)顧客心情短語設(shè)置:顧客可以設(shè)置自己喜歡的心情短語,設(shè)置完畢后,系統(tǒng)將保留信息。
(4)顧客密碼重置管理:當(dāng)顧客為了自己信息安全考慮時,可以進行密碼的重置。密碼重置的時候,為了賬號安全顧客必須驗證本來的密碼。
(5)設(shè)置管理其他信息:顧客可以對聊天中的消息提醒進行設(shè)置,可以調(diào)整音量大小,也可以設(shè)置為震動。同步該軟件的系統(tǒng)音量也可以如此設(shè)置
根據(jù)需求分析,好友管理模塊設(shè)計如下:
(1)顧客可以進行添加好友、刪除好友、查找已經(jīng)添加的好友的操作。
(2)顧客也可以通過搜索功能鍵在對應(yīng)的位置輸入想要添加的顧客名,從而添加好友。假如陌生人想添加你為好友,只要他進行之前的操作后你也會收到驗證消息,這時你可以選擇與否添加他為你的好友。
根據(jù)軟件需求分析,聊天功能管理模塊設(shè)計如下:
(1)文字聊天:顧客在聊天過程中發(fā)送的純文本消息將會被系統(tǒng)軟件傳播到服務(wù)器端,服務(wù)器端將檢查發(fā)送過來的信息包格式之類的對的性,通過驗證后給軟件發(fā)送反饋。軟件收到回饋后,將給顧客提醒。
(2)語音消息:好友之間可以發(fā)送語音消息。顧客點擊聊天界面下方的發(fā)送語音按鈕不放后,軟件將開始錄音。
(3)圖片文獻:好友之間可以發(fā)送圖片文獻。顧客可以選擇手機當(dāng)?shù)貓D片和拍照兩種方式。
消息發(fā)送流程圖3-4如下:
圖3-4消息發(fā)送流程圖
3.1.2服務(wù)器功能設(shè)計
目前市場中小范圍局部的聊天軟件重要為:
基于環(huán)信、融云等第三方IM服務(wù)器的通訊聊天軟件或者是基于XMPP協(xié)議運用OpenFire數(shù)據(jù)庫的通訊聊天軟件。
本次本項目軟件重要使用基于XMPP協(xié)議的OpenFire服務(wù)器,XMPP協(xié)議作為一種被廣泛使用的消息協(xié)議,有大量的網(wǎng)絡(luò)資料和成熟開源模塊,例如在Android和IOS上,就很以便集成XMPP協(xié)議。IM作為一種復(fù)雜的系統(tǒng),有方方面面需要考慮,使用成熟的協(xié)議,能協(xié)助我們防止諸多問題,提高開發(fā)效率。
Openfire采用Java開發(fā),開源的實時協(xié)作(RTC)服務(wù)器基于XMPP(Jabber)協(xié)議。Openfire安裝和使用都非常簡樸,并運用Web進行管理。單臺服務(wù)器可支持上萬并發(fā)顧客。開發(fā)者可以使用它輕易的構(gòu)建高效率的即時通信服務(wù)器。
由于是采用開放的XMPP協(xié)議,您可以使用多種支持XMPP協(xié)議的IM客戶端軟件登陸服務(wù)OpenFire作為服務(wù)器。容許多種客戶端同步登錄并且并發(fā)的連接到一種服務(wù)器上。服務(wù)器對每個客戶端的連接進行認證,對認證通過的客戶端創(chuàng)立會話,客戶端與服務(wù)器端之間的通信就在該會話的上下文中進行。在Oponfire服務(wù)器中。針對每個顧客的祈求,創(chuàng)立一種線程來進行響應(yīng),同步采用線程池來創(chuàng)立和管理線程,提高了服務(wù)器的執(zhí)行效率。線程池的大小可以根據(jù)服務(wù)器在運行的過程中接受到的顧客祈求的數(shù)量進行自動調(diào)整。
openFire服務(wù)器如圖3-5所示,openFire消息發(fā)送原理圖如圖3-6所示。
圖3-5openFire服務(wù)器
圖3-6OpenFire消息發(fā)送基本原理圖
3.2軟件的數(shù)據(jù)庫設(shè)計
通過以上對客戶端功能設(shè)計,要想實現(xiàn)不一樣客戶端的顧客通信,服務(wù)器端功能重要包括:對客戶端發(fā)出的消息的偵聽、存儲、反饋。因此數(shù)據(jù)庫設(shè)計方面也要滿足這些規(guī)定。
本項目軟件服務(wù)器端重要采用OpenFire服務(wù)器的數(shù)據(jù)管理功能對數(shù)據(jù)進行管理,下面的數(shù)據(jù)庫表列出了系統(tǒng)運行時需要波及的數(shù)據(jù)信息,共4張表,分別是顧客注冊信息表、好友信息表、聊天信息會話表和通訊信息表。
(1)顧客注冊信息表,用于寄存顧客注冊時錄入的信息,如下表3-4所示。
表3-4顧客注冊信息表
字段名類型約束鍵值闡明User_idString非空主鍵內(nèi)部使用idUser_nameString非空注冊后系統(tǒng)使用idUser_phoneString非空顧客手機號passwordString非空顧客密碼(2)好友信息表,用于寄存聯(lián)絡(luò)人信息,如下表3-5所示。
表3-5好友信息表
字段名類型與否為空鍵值闡明T_idint否主鍵自增長idF_ower_idstring否顧客idF_contact_idstring否好友注冊號F_statusstring好友在線狀態(tài)F_nicknamestring好友昵稱F_moodstring好友心情短語F_phonestring好友F_portait_uristring好友使用頭像
(3)聊天會話信息表,重要存儲顧客和好友的會話信息,它的字段如表3-6所示:
表3-6聊天會話消息表
字段名類型約束鍵值闡明_idint非空主鍵自增長idOwner_idstring非空擁有者idData_idstring非空數(shù)據(jù)idContact_idstring非空好友uidD_timestring會話創(chuàng)立時間D_last_contentstring會話最終內(nèi)容D_last_timetime會話最終時間D_last_typeint會話最終消息類型D-countint會話消息數(shù)目(4)通訊消息表,存儲的是顧客與聯(lián)絡(luò)人通訊的消息,它的字段如表3-7所示:
表3-7通訊消息表
字段名類型與否為空鍵值闡明T_idint否主鍵自增長idL_owner_idString否顧客idL_data_idString否數(shù)據(jù)idF_uidStirng否聯(lián)絡(luò)人idL_data_timetime消息時間
表3-7(續(xù))通訊消息表
字段名類型與否為空鍵值闡明L_data_typeint消息類型L_data_contentStirng消息內(nèi)容L_data_uriString圖片uriL_data_stateint語音發(fā)送狀態(tài)L_data_audio_markedint語音消息讀取狀態(tài)
3.3本章小結(jié)
本章重要根據(jù)需求分析對軟件設(shè)計進行了如下設(shè)計:注冊模塊設(shè)計、登錄模塊設(shè)計、顧客管理模塊設(shè)計、個人信息管理設(shè)計、通訊錄模塊設(shè)計以及數(shù)據(jù)庫的設(shè)計。
4軟件實現(xiàn)
4.1服務(wù)器端
4.1.1配置OpenFire服務(wù)器
在配置或二次開發(fā)OpenFire服務(wù)器之前,首先應(yīng)當(dāng)去官網(wǎng)下載OpenFire有關(guān)的構(gòu)件和程序。當(dāng)成功下載好OpenFire服務(wù)器后,我們首先將其解壓,然后在openfile/bin目錄下找到OpenFire.exe,雙擊即可啟動OpenFire服務(wù)器,如圖4-1所示。
圖4-1啟動OpenFire服務(wù)器
當(dāng)成功啟動OpenFire的服務(wù)器后,我們輸入::9090進入OpenFire服務(wù)器的管理頁面。OpenFire管理頁面的端口為9090,缺省賬號和密碼都是admin。假如是第一次登錄OpenFire服務(wù)器的管理頁面,我們則需要配置某些初始信息,當(dāng)成功配置好后,我們便可以完畢登錄。
OpenFire的管理頁面包括5個菜單項選擇項,分別是服務(wù)器基本信息配置選項、顧客組管理選項、會話管理選項、分組聊天選項和插件選項。其中服務(wù)器基本信息配置選項重要包括了OpenFire的某些常規(guī)配置,例如端口的配置、系統(tǒng)屬性設(shè)置、緩存設(shè)置、數(shù)據(jù)庫設(shè)置(OpenFire提供了自帶的嵌入式數(shù)據(jù)庫)等等。而顧客組管理選項可以用來管理注冊顧客。會話管理選項則用于管理客戶端連接。分組聊天選項則用于管理會話組。而插件選項重要是用于添加開發(fā)人員對OpenFire服務(wù)器管理頁面的功能擴充。OpenFire的管理界面如圖4-2所示。
圖4-2OpenFire的管理頁面
4.1.2使用SmackAPI與OpenFire建立連接通信
Spark運用SmackAPI進行與OpenFire服務(wù)器通信的客戶端程序。成功下載好Spark后,首先需要進行安裝,然后注冊登錄顧客,最終便可完畢登錄,添加顧客進行會話。建立通信代碼如圖4-3
圖4-3SmackAPI與OpenFire建立連接通信代碼
4.2客戶端
4.2.1顧客注冊模塊
顧客在登錄頁面選擇進入注冊頁面前,系統(tǒng)需要判斷顧客名與否為己注冊。
(1)未曾注冊顧客名:在注冊頁面顧客需要填寫注冊信息,包括顧客名、顧客密碼。之后系統(tǒng)將存儲顧客的信息以便數(shù)據(jù)庫后來檢測顧客信息。
(2)假如顧客名已注冊:假如顧客名已注冊,系統(tǒng)會彈出提醒,提醒顧客該顧客名已被注冊。顧客可以根據(jù)提醒選擇與否換個注冊名或者選擇找回該顧客名的密碼。
BaseProtocol是一種基類,HTTP傳播的所有協(xié)議包都將繼承它。基類重要有三個參數(shù):mid、mType、mTimeOut。
BaseProtocol的重要措施有:setParas()、getSendXML()、parseXML():、
sendCodeProtocol是發(fā)送驗證碼協(xié)議類。VSetPwdProtocol是設(shè)置密碼協(xié)議類。以上三個類都繼承至BaseProtocol類,HttpEngine在需要各個功能時分別初始化上述三個對象,然后在getResponseOqb獲取服務(wù)器返回的XML數(shù)據(jù),上述三個子協(xié)議將分別解析各自對應(yīng)的XML數(shù)據(jù)。
Rigiste是注冊功能運行的重要類,所有與界面有關(guān)的操作都由它完畢,同步
祈求底層數(shù)據(jù)的發(fā)起也是由它完畢。它的重要函數(shù)如下:
Register()、initView()、initData()。
registerProgress:注冊流程。調(diào)用此函數(shù)進入注冊流程,此函數(shù)將初始化注冊界面以及某些數(shù)據(jù),使其他函數(shù)能懂得此時程序正處在注冊流程。
getPwdProgress:進入重置密碼流程。此函數(shù)將初始化界面以及某些參數(shù),使
本類處在重置密碼流程中。
sendVerifyCode:顧客操控界面觸發(fā)發(fā)送驗證碼時調(diào)用此函數(shù),它將搜集顧客輸入的數(shù)據(jù),驗證數(shù)據(jù)對的性,然后調(diào)用HttpEngine中對應(yīng)函數(shù)完畢HTTP數(shù)據(jù)祈求。
verifyCode:顧客觸發(fā)驗證祈求時,調(diào)用此函數(shù)。它會獲取顧客輸入的手機號驗證碼,調(diào)用HttpEngine中的對應(yīng)函數(shù),同步控制界面進行對應(yīng)操作。等待數(shù)據(jù)返回。
setPwd:顧客完畢驗證后,觸發(fā)此函數(shù)。它獲取顧客輸入的密碼,驗證數(shù)據(jù)正
確性,然后調(diào)用HttpEngine中對應(yīng)函數(shù),完畢密碼設(shè)置。同步控制界面進行對應(yīng)操作。實現(xiàn)注冊功能的類圖如下圖4-4:
圖4-4注冊模塊類圖
實現(xiàn)界面
顧客進入顧客注冊界面時,可以進行賬號注冊,注冊時賬號位數(shù)要多于6位數(shù)否則系統(tǒng)會提醒顧客無法注冊。此外兩次輸入顧客密碼時要一致,否則注冊失敗。注冊界面如下圖4-5:
圖4-5注冊界面
4.2.2顧客登錄模塊
顧客登錄方式劃分為兩種:一種是自動登錄和另一種手動登錄。
本項目設(shè)計的聊天軟件客戶端只能容許單點登錄,同步間顧客在不一樣的客戶端軟件不能登錄同一種賬號。顧客在每次登錄成功后,當(dāng)?shù)財?shù)據(jù)庫將緩存顧客的登錄信息,假如顧客再次登錄時系統(tǒng)將進行自動登錄。
顧客的登錄模塊被劃分為兩部分:第一種部分客戶端為與服務(wù)器交互,獲取顧客的信息,將顧客信息發(fā)送至數(shù)據(jù)庫。第二部分為鏈接XMPP協(xié)議下的服務(wù)器進行信息驗證和傳播。
登錄功能重要在LoginActivity類中實現(xiàn),它繼承至抽象基類BaseActivity,同步使用HttpEngine中的功能來實現(xiàn)網(wǎng)絡(luò)Http祈求。
BaseActivity是一種抽象基類,是所有Activity的父類。它實現(xiàn)了DataEventListener接口,這個接口是用來實現(xiàn)各個類之間通信的。在BaseActivity中實現(xiàn)了三個接口:handlerDataEvent、HandleDataEvent、registerListener。
LoginActivity是實現(xiàn)登錄功能的重要類,它承載著登錄所需要的界面,管理界面上所有控件,同步搜集顧客輸入信息,顧客的操作來調(diào)用其他類中的措施完畢
顧客祈求,同步接受其他類中傳來的數(shù)據(jù)反饋給界面。它包括的重要措施如下:
onCreate()、onResume()、onDestroy()。
登錄模塊的實現(xiàn)類圖和功能實現(xiàn)圖如下圖4-6和圖4-7:
圖4-6登錄模塊類圖
、
圖4-7登錄界面
4.2.3個人信息設(shè)置管理
個人信息設(shè)置管理模塊功能包括顧客的頭像管理,昵稱心情管理,密碼修改,與否容許他人加自己好友、新消息提醒等。
其他設(shè)置包括個人密碼重置、好友添加驗證、系統(tǒng)更新檢查、顧客意見反饋、系統(tǒng)振動和聲音大小。
顧客在添加好友時系統(tǒng)將會問詢顧客與否設(shè)置添加,顧客在確定添加好友后通過點擊添加按鈕觸發(fā)程序從而調(diào)用數(shù)據(jù)庫信息,系統(tǒng)將彈出添加界面提醒顧客與否可以添加新好友聯(lián)絡(luò)人。
個人信息設(shè)置管理模塊的實現(xiàn)類圖和功能實現(xiàn)圖如下圖4-8:
圖4-8個人信息設(shè)置管理模塊類圖
主界面中點擊右上角的按鈕,進入設(shè)置按鈕界面。其中按鈕功能包括個人資料設(shè)置、意見反饋、系統(tǒng)設(shè)置、退出登錄,詳細圖如下圖4-9:
圖4-9個人設(shè)置
通過上述環(huán)節(jié)后,點擊個人設(shè)置進入個人資料設(shè)置。在個人資料設(shè)置中顧客可以進行個人頭像上傳、心情、昵稱等修改如圖4-10的設(shè)置:
圖4-10個人資料界面
4.2.4好友信息管理模塊
好友管理模塊功能包括:添加好友、刪除好友、查找好友、查看好友個人
信息、顯示好友列表。
好友信息管理模塊的實現(xiàn)類圖和功能實現(xiàn)圖如下圖4-11:
圖4-11好友信息管理模塊類圖
好友界面可以查看驗證消息,假如有加你好友系統(tǒng)會在驗證好友這個按鍵下顯示添加你的好友是那些人,叫什么。同樣的你自己也可以通過添加好友按鍵來自
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 10781.3-2025白酒質(zhì)量要求第3部分:米香型白酒
- 六感服務(wù)培訓(xùn)
- 【MOOC答案】《熱學(xué)》(北京大學(xué))章節(jié)作業(yè)慕課答案
- 維穩(wěn)綜治工作培訓(xùn)
- SX選粉機操作與維護培訓(xùn)
- 《醫(yī)療機構(gòu)服務(wù)培訓(xùn)課件》課件
- 油污接納協(xié)議書
- 運營權(quán)變更協(xié)議書范本
- 法院代理協(xié)議書
- 部門負責(zé)人聘用合同協(xié)議
- 神經(jīng)重癥患者鎮(zhèn)痛鎮(zhèn)靜治療中國專家共識(2023)解讀
- 形容詞性與名詞性物主代詞專項練習(xí)
- 2024年演出經(jīng)紀人考試必背1000題及完整答案【歷年真題】
- 糖尿病足護理
- 三項制度改革培訓(xùn)
- 動漫游戲IP衍生品開發(fā)策劃書
- 晉祠完整分享
- 機器視覺系統(tǒng)應(yīng)用(中級) 課件 5.4書簽缺陷檢測系統(tǒng)聯(lián)調(diào)
- 事業(yè)單位代報名委托書
- 大客戶銷售:謀攻之道
- 建設(shè)單位與施工單位安全生產(chǎn)協(xié)議書 標(biāo)準(zhǔn)版
評論
0/150
提交評論