楊垚婷等
摘要:隨著因特網(wǎng)的飛速發(fā)展,網(wǎng)絡(luò)已經(jīng)走進(jìn)了普通人的生活當(dāng)中,網(wǎng)上聊天也已經(jīng)成為了人們交流溝通的一種途徑,具有時(shí)效性和便捷性。該軟件分為服務(wù)器端和客戶端兩個(gè)部分,客戶端通過(guò)服務(wù)器進(jìn)行連接通信。服務(wù)器端主要實(shí)現(xiàn)了對(duì)客戶端請(qǐng)求的處理和信息數(shù)據(jù)的傳遞;客戶端主要實(shí)現(xiàn)了用戶注冊(cè)、登陸、查找并添加好友、實(shí)時(shí)語(yǔ)音對(duì)講、群聊、文本聊天等功能。該聊天軟件采用線程池技術(shù),可以支持多用戶操作。
關(guān)鍵詞:微班信;安卓;數(shù)據(jù)庫(kù);聊天軟件
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)13-0108-02
1 概述
近幾年來(lái),網(wǎng)絡(luò)技術(shù)迅猛發(fā)展,網(wǎng)絡(luò)聊天工具已經(jīng)成為了人們?nèi)粘I罟ぷ髦羞M(jìn)行信息傳遞、感情交流的一個(gè)重要途徑?,F(xiàn)在已經(jīng)存在的聊天軟件種類繁多,比如QQ、飛信、MSN等,實(shí)現(xiàn)了及時(shí)的網(wǎng)絡(luò)通信等一系列功能,給人們的生活和工作帶來(lái)了很大的便利。但是此類軟件也存在以下不足:沒(méi)有針對(duì)專門(mén)的人群;沒(méi)有實(shí)現(xiàn)特定人群需要的某些功能。因此,設(shè)計(jì)一款針對(duì)專門(mén)的人群并且擁有特定功能的聊天軟件也是非常必要的。微班信主要針對(duì)班級(jí)學(xué)生和老師開(kāi)發(fā),充分考慮到班級(jí)學(xué)生的需求,主要實(shí)現(xiàn)班級(jí)同學(xué)的相互添加好友,進(jìn)行文字聊天、語(yǔ)音聊天或者在聊天室中進(jìn)行班級(jí)事務(wù)的商討、班委和老師下發(fā)通知等功能,力求開(kāi)發(fā)一個(gè)界面親切、功能完善、用戶體驗(yàn)良好的班級(jí)聊天軟件。
2 本系統(tǒng)的主要功能和開(kāi)發(fā)技術(shù)
2.1 系統(tǒng)功能
微班信的實(shí)現(xiàn)是基于Socket的集中式通信,它的實(shí)現(xiàn)需要用戶登錄到統(tǒng)一的服務(wù)器[1]。,它主要有兩個(gè)角色:客戶端和服務(wù)器,多客戶端需要登陸到統(tǒng)一的服務(wù)器當(dāng)中,服務(wù)器將客戶端的請(qǐng)求進(jìn)行分發(fā)或者推送到其他的客戶端。微班信實(shí)現(xiàn)了如下功能:
1)開(kāi)啟服務(wù)器,連接數(shù)據(jù)庫(kù);2)用戶注冊(cè)賬號(hào);3)用戶登錄微班信;4)用戶和軟件交互,進(jìn)行文字信息傳送或者語(yǔ)音對(duì)講;5)查找并添加好友;6)接收查看通知;7) 接收離線消息或消息廣播; 8)聊天室群聊和好友對(duì)講;9) 獲取推送信息并顯示;10)娛樂(lè)工具的使用。
2.2 開(kāi)發(fā)技術(shù)
本系統(tǒng)在開(kāi)發(fā)過(guò)程中,主要用到了Android、數(shù)據(jù)庫(kù)技術(shù)、多線程開(kāi)發(fā)技術(shù)、網(wǎng)絡(luò)傳輸協(xié)議及網(wǎng)絡(luò)編程技術(shù)和客戶端/服務(wù)器模式(C/S架構(gòu))等技術(shù)。首先,Android代碼是開(kāi)源的,允許開(kāi)發(fā)人員對(duì)其進(jìn)行修改并且硬件配置豐富且方便,使開(kāi)發(fā)人員的開(kāi)發(fā)效率增強(qiáng)。其次,采用MySQL數(shù)據(jù)庫(kù)管理系統(tǒng),因?yàn)樵摂?shù)據(jù)庫(kù)可以在網(wǎng)絡(luò)的任何地方完美運(yùn)行[2]。然后,采用多線程技術(shù)可以把不同的任務(wù)放到后臺(tái)處理,使程序的運(yùn)行時(shí)間減少,最后,C/S架構(gòu)將一些操作放到客戶端運(yùn)行處理,客戶端處理完成以后再發(fā)送給服務(wù)器,這樣能夠充分的利用客戶端的處理能力,從而提高系統(tǒng)的工作效率,加快系統(tǒng)反應(yīng)速度[3]。
3 微班信主要功能模塊設(shè)計(jì)和實(shí)現(xiàn)
3.1 系統(tǒng)核心功能模塊設(shè)計(jì)
微班信以班級(jí)內(nèi)的學(xué)生為主要服務(wù)對(duì)象,由服務(wù)器端和客戶端兩部分組成。本系統(tǒng)的各功能模塊如圖1所示。
此外,考慮到微班信是多用戶同時(shí)操作,需要用到多線程進(jìn)行管理,從而提高程序的效率,并能夠?qū)崿F(xiàn)多用戶的并發(fā)操作。
3.2 系統(tǒng)主要功能模塊實(shí)現(xiàn)
1)服務(wù)器模塊的實(shí)現(xiàn):服務(wù)器配置是服務(wù)器端和客戶端通信成功的重要組成部分,用戶對(duì)服務(wù)器的配置主要是IP和端口號(hào)的配置,由于該服務(wù)器是Java服務(wù)器,并且需要配置的IP和端口號(hào)是固定的,所以在服務(wù)器端的代碼編寫(xiě)的時(shí)候已經(jīng)將其封裝[4]。配置服務(wù)器固定的IP和端口號(hào),這樣客戶端就能成功連接到服務(wù)器,從而進(jìn)行一系列的消息交互操作。服務(wù)器配置完成以后便可以開(kāi)啟服務(wù)器的相關(guān)服務(wù)。
2)文本信息和接收當(dāng)前消息和離線消息:本軟件可以實(shí)現(xiàn)一對(duì)一的信息發(fā)送和一對(duì)多的信息發(fā)送即消息廣播。消息廣播是該用戶對(duì)自己所有的好友發(fā)送文本消息,從而實(shí)現(xiàn)一鍵使消息及時(shí)傳達(dá)功能。此外,該系統(tǒng)還實(shí)現(xiàn)了用戶接收當(dāng)前消息和離線消息的功能。用戶登陸后,會(huì)首先獲得離線消息,然后對(duì)于在線好友的消息,或直接在聊天窗口顯示,若用戶此時(shí)不在聊天窗口,則會(huì)在通知欄顯示提醒好友查看消息。
3)好友語(yǔ)音對(duì)講:微班信具有實(shí)時(shí)的語(yǔ)音對(duì)講功能,登陸成功的用戶不僅可以與好友進(jìn)行文字聊天,更可以進(jìn)行實(shí)時(shí)的語(yǔ)音聊天。該語(yǔ)音對(duì)講功能與電話功能的區(qū)別在于不能同時(shí)兩個(gè)人講話,只能當(dāng)一個(gè)人講完以后另一個(gè)人才能夠講話。
4)聊天室:本軟件的聊天室功能正是實(shí)現(xiàn)了一對(duì)多的通信,這樣的設(shè)計(jì)可以很好的滿足班級(jí)同學(xué)在利用此軟件商量班級(jí)事務(wù)的需求。該聊天室功能并不是只有好友才能進(jìn)入,是所有微班信用戶都可以進(jìn)入,這樣可以打破各個(gè)班級(jí)之間的局限性,從而可以廣交朋友,并且對(duì)于班級(jí)來(lái)說(shuō),可以很好的滿足利用互聯(lián)網(wǎng)隨時(shí)隨地地商討班級(jí)事務(wù)。
5)班級(jí)通知功能:微班信提供一個(gè)文本信息的發(fā)送平臺(tái),即微班信的班級(jí)通知功能。微班信設(shè)立了一個(gè)專門(mén)的發(fā)送通知的用戶(admin),班級(jí)中如果有人想發(fā)送通知,可以登錄這個(gè)專門(mén)的賬戶去發(fā)送通知,該專用賬號(hào)提供了三個(gè)功能:發(fā)送通知、清空通知和查看通知。
部分功能模塊的實(shí)現(xiàn)效果圖如圖2所示。
3.3其他功能模塊
1)利用推送工具實(shí)現(xiàn)推送功能:極光推送在本軟件系統(tǒng)中可以作為老師發(fā)布消息和通知的一個(gè)平臺(tái),老師通過(guò)登錄極光推送的官網(wǎng),能夠很方便快捷的實(shí)現(xiàn)推送通知和發(fā)布任務(wù)的功能。只要在客戶端進(jìn)行相關(guān)的推送配置,就能成功實(shí)現(xiàn)對(duì)于消息和各種通知的及時(shí)推送,推送速度比較快[5]。當(dāng)有消息要通知到每一個(gè)同學(xué)的時(shí)候,管理員可以登陸極光推送主頁(yè)登陸到開(kāi)發(fā)者平臺(tái)發(fā)送通知,這樣只要當(dāng)用戶登陸成功進(jìn)入主界面的時(shí)候,推送的消息將在客戶端的主界面自動(dòng)顯示出來(lái)。
2)娛樂(lè):該軟件并不是僅有通信功能,同時(shí)還提供了一些小的附加功能,當(dāng)大家累了的時(shí)候可以點(diǎn)擊該軟件的娛樂(lè)界面并進(jìn)入相應(yīng)的小游戲娛樂(lè)放松一下,該娛樂(lè)模塊包含你畫(huà)我猜和消滅灰太狼兩個(gè)小游戲。
4 總結(jié)
微班信界面的設(shè)計(jì)比較簡(jiǎn)潔,主界面通過(guò)ViewPager實(shí)現(xiàn)頁(yè)卡的滑動(dòng)切換和界面上方的點(diǎn)擊切換,從而實(shí)現(xiàn)微班信各個(gè)功能模塊之間的靈活切換。各個(gè)頁(yè)面的功能顯示主要通過(guò)簡(jiǎn)單適配器設(shè)置,用戶可以點(diǎn)擊各個(gè)功能名稱,進(jìn)入到相應(yīng)的操作界面。同時(shí)根據(jù)各個(gè)界面需求的情況,選擇是否顯示標(biāo)題欄和全屏幕。
微班信為班級(jí)同學(xué)之間提供了一個(gè)實(shí)時(shí)信息交互的平臺(tái)。通過(guò)它,同學(xué)們可以注冊(cè)成為用戶,并相互查找成為好友。大家之間可以通過(guò)微班信發(fā)送文本信息,大家也可以在微班信的聊天室中暢所欲言,大家更可以通過(guò)微班信提供的語(yǔ)音對(duì)講功能實(shí)時(shí)語(yǔ)音聊天。通過(guò)它,同學(xué)們?cè)僖膊挥脫?dān)心遺漏班級(jí)的通知,班長(zhǎng)等班干部可以登錄微班信的通知發(fā)送平臺(tái),去發(fā)送通知,這樣大家就可以在自己的微班信客戶端查看最近的通知。班主任也可以登錄極光推送的官網(wǎng),向班級(jí)成員推送通知或者消息。當(dāng)大家累了的時(shí)候,還可以玩游戲休息一下。
參考文獻(xiàn):
[1] 文顯瓊,張繼榮.基于Socket的網(wǎng)絡(luò)編程及其實(shí)現(xiàn)[J].軟件導(dǎo)刊,2012,11(2):85-98.
[2] 王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2005.
[3] 雷托邁耶 Android 4高級(jí)編程(3版) [M].北京:清華大學(xué)出版社,2013.
[4] 陸明剛.Java性能優(yōu)化權(quán)威指南[M].北京:人民郵電出版社,2012.
[5] 楊思琦.局部網(wǎng)聊天軟件的設(shè)計(jì)[D].北京:北京郵電大學(xué),2008.