資源簡(jiǎn)介
注意:之前上傳的同類資源1.0、1.1、1.2、1.3版本有一些小問(wèn)題,現(xiàn)在上傳修改后的最新版本,各位請(qǐng)注意下載最新版的,主界面的ip地址和port端口號(hào)是我的一個(gè)服務(wù)器上的地址,可以正常連接
一、端點(diǎn)連接機(jī)制:基于客戶端到服務(wù)器端的socket連接,在服務(wù)器端利用android系統(tǒng)提供的線程池處理用戶的并發(fā)訪問(wèn)。
二、消息發(fā)送原理:在服務(wù)器端緩存所有當(dāng)前在線用戶,對(duì)于接收到的文字消息或語(yǔ)音消息循環(huán)發(fā)送到所有在線客戶端。
三、消息發(fā)送格式:對(duì)于所有的發(fā)送消息,都包含一條標(biāo)識(shí)行,用來(lái)標(biāo)識(shí)該消息的類型(注冊(cè)、登錄、退出、普通消息、語(yǔ)音消息)。對(duì)于網(wǎng)絡(luò)字節(jié)數(shù)據(jù)流,采用length+data的格式,因?yàn)榛趕ocket打開(kāi)的數(shù)據(jù)流,好像只有這種格式最可靠,不會(huì)出現(xiàn)各種莫名其妙的錯(cuò)誤。
四、項(xiàng)目操作流程:項(xiàng)目分為服務(wù)器端和客戶端。
1、服務(wù)器端:將服務(wù)器端代碼導(dǎo)入eclipse中,打開(kāi)服務(wù)器窗口界面,輸入合適的端口號(hào),點(diǎn)擊啟動(dòng)按鈕啟動(dòng)服務(wù)器。
2、客戶端代碼直接導(dǎo)入到eclipse中,安裝部署即可運(yùn)行,端口號(hào)及IP地址要與服務(wù)器端保持一致。
3、推薦測(cè)試方式可以用一臺(tái)真機(jī)跟模擬器來(lái)實(shí)現(xiàn)信息的交互,前提是手機(jī)跟電腦必須是在同一個(gè)無(wú)線網(wǎng)路,請(qǐng)自行設(shè)置。
五、必須注意事項(xiàng):以下幾點(diǎn)是在運(yùn)行項(xiàng)目時(shí)必須注意的,否則有些功能操作時(shí)就會(huì)報(bào)錯(cuò)。
1、對(duì)于模擬器端,發(fā)送語(yǔ)音消息會(huì)報(bào)異常,所以測(cè)試時(shí)需用真機(jī)發(fā)語(yǔ)音消息
2、在錄制語(yǔ)音時(shí),不同的設(shè)備支持的采樣頻率有所差別,如在錄制聲音時(shí)報(bào)錯(cuò)或沒(méi)有聲音出來(lái),可修改audioRecord中的采樣率,該值保存在常量當(dāng)中。
六、這個(gè)純屬是自己作為一個(gè)接觸android系統(tǒng)新手的練手項(xiàng)目,可以說(shuō)一邊查找資料、一邊在慢慢摸索,弄了比較長(zhǎng)時(shí)間,許多比較棘手的問(wèn)題總算是解決了。如果你是一個(gè)新手,這個(gè)項(xiàng)目了解清楚了,可以說(shuō)算是入門(mén)了,恭喜你可以進(jìn)行android開(kāi)發(fā)相關(guān)的工作了。最后界面上有一個(gè)問(wèn)題,就是popuwindow里面的按鈕單擊后就不見(jiàn)了,比較影響美觀哪,望誰(shuí)有辦法解決它,反正我是搞不定了
七、這個(gè)項(xiàng)目完成可不止十天哪,所以收10分不過(guò)分,如果你覺(jué)得很需要一個(gè)聊天類的應(yīng)用參考實(shí)踐一下,那這就是你所需要的,這只是一個(gè)一對(duì)多的聊天應(yīng)用,當(dāng)然你可以自己擴(kuò)展成一對(duì)一的,其實(shí)就是再加一個(gè)頁(yè)面就可以了,代碼上稍作修改即可,發(fā)消息時(shí)傳一個(gè)目標(biāo)用戶的ID而已。不多說(shuō)了,這個(gè)項(xiàng)目如果有時(shí)間的話,我也會(huì)再做一些優(yōu)化和修改,到時(shí)再發(fā)出來(lái)吧

代碼片段和文件信息
/*?AUTO-GENERATED?FILE.??DO?NOT?MODIFY.
?*
?*?This?class?was?automatically?generated?by?the
?*?aapt?tool?from?the?resource?data?it?found.??It
?*?should?not?be?modified?by?hand.
?*/
package?com.csu.chatroom;
public?final?class?R?{
????public?static?final?class?anim?{
????????public?static?final?int?popu_enter=0x7f040000;
????????public?static?final?int?popu_out=0x7f040001;
????}
????public?static?final?class?attr?{
????}
????public?static?final?class?color?{
????????public?static?final?int?sc_transparent=0x7f070000;
????}
????public?static?final?class?drawable?{
????????public?static?final?int?bg_button=0x7f020000;
????????public?static?final?int?btn_intercom=0x7f020001;
????????public?static?final?int?btn_intercon=0x7f020002;
????????public?static?final?int?btn_keyboard=0x7f020003;
????????public?static?final?int?btn_press_voice=0x7f020004;
????????public?static?final?int?btn_pressed=0x7f020005;
????????public?static?final?int?btn_style_alert_dialog_button_normal=0x7f020006;
????????public?static?final?int?btn_style_alert_dialog_button_pressed=0x7f020007;
????????public?static?final?int?btn_style_alert_dialog_cancel=0x7f020008;
????????public?static?final?int?btn_style_alert_dialog_cancel_normal=0x7f020009;
????????public?static?final?int?btn_style_alert_dialog_special=0x7f02000a;
????????public?static?final?int?btn_style_alert_dialog_special_normal=0x7f02000b;
????????public?static?final?int?btn_style_alert_dialog_special_pressed=0x7f02000c;
????????public?static?final?int?btn_style_green=0x7f02000d;
????????public?static?final?int?btn_style_one_disabled=0x7f02000e;
????????public?static?final?int?btn_style_one_focused=0x7f02000f;
????????public?static?final?int?btn_style_one_normal=0x7f020010;
????????public?static?final?int?btn_style_one_pressed=0x7f020011;
????????public?static?final?int?btn_style_two_focused=0x7f020012;
????????public?static?final?int?btn_style_two_normal=0x7f020013;
????????public?static?final?int?btn_style_two_pressed=0x7f020014;
????????public?static?final?int?btn_style_white=0x7f020015;
????????public?static?final?int?btncolor=0x7f0200c8;
????????public?static?final?int?chat_date=0x7f020016;
????????public?static?final?int?chat_expression_bg=0x7f020017;
????????public?static?final?int?chat_icon_smiles=0x7f020018;
????????public?static?final?int?chat_icon_smiles_pressed=0x7f020019;
????????public?static?final?int?chat_recorder=0x7f02001a;
????????public?static?final?int?chatfrom_bg=0x7f02001b;
????????public?static?final?int?chatfrom_bg_focused=0x7f02001c;
????????public?static?final?int?chatfrom_bg_normal=0x7f02001d;
????????public?static?final?int?chatfrom_bg_pressed=0x7f02001e;
????????public?static?final?int?chatfrom_voice_play_frame=0x7f02001f;
????????public?static?final?int?chatfrom_voice_playing=0x7f020020;
????????public?static?final?int?chatfrom_voice_playing_f1=0x7f020021;
????????public?static?final?int?chatfrom_voice_playing_f2=0x7f020022;
????????publ
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????1817276??2013-10-26?17:29??新建文件夾\chatRoom.apk
?????文件????????493??2013-09-30?20:38??新建文件夾\客戶端\chatRoom\.classpath
?????文件????????844??2013-07-01?10:16??新建文件夾\客戶端\chatRoom\.project
?????文件???????1923??2013-10-13?21:42??新建文件夾\客戶端\chatRoom\AndroidManifest.xm
?????文件????1817276??2013-10-26?17:29??新建文件夾\客戶端\chatRoom\bin\chatRoom.apk
?????文件?????392184??2013-10-26?17:29??新建文件夾\客戶端\chatRoom\bin\classes.dex
?????文件???????1002??2013-10-26?16:26??新建文件夾\客戶端\chatRoom\bin\com\csu\adapter\ChatMsgViewAdapter$1.class
?????文件???????1608??2013-10-26?16:26??新建文件夾\客戶端\chatRoom\bin\com\csu\adapter\ChatMsgViewAdapter$2$1.class
?????文件???????3362??2013-10-26?16:26??新建文件夾\客戶端\chatRoom\bin\com\csu\adapter\ChatMsgViewAdapter$2.class
?????文件????????832??2013-10-26?16:26??新建文件夾\客戶端\chatRoom\bin\com\csu\adapter\ChatMsgViewAdapter$3.class
?????文件???????1786??2013-10-26?16:26??新建文件夾\客戶端\chatRoom\bin\com\csu\adapter\ChatMsgViewAdapter$RecordTime
?????文件????????844??2013-10-26?16:26??新建文件夾\客戶端\chatRoom\bin\com\csu\adapter\ChatMsgViewAdapter$ViewHolder.class
?????文件???????5045??2013-10-26?16:26??新建文件夾\客戶端\chatRoom\bin\com\csu\adapter\ChatMsgViewAdapter.class
?????文件????????738??2013-10-15?09:29??新建文件夾\客戶端\chatRoom\bin\com\csu\adapter\ex
?????文件???????2164??2013-10-15?09:29??新建文件夾\客戶端\chatRoom\bin\com\csu\adapter\ex
?????文件???????2465??2013-10-15?09:29??新建文件夾\客戶端\chatRoom\bin\com\csu\bean\Message.class
?????文件???????2482??2013-10-15?09:29??新建文件夾\客戶端\chatRoom\bin\com\csu\bean\User.class
?????文件????????892??2013-10-15?09:29??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\Appstart$1.class
?????文件????????781??2013-10-15?09:29??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\Appstart.class
?????文件???????2935??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$1.class
?????文件???????2799??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$10.class
?????文件????????959??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$2.class
?????文件???????1047??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$3.class
?????文件????????875??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$4.class
?????文件???????1209??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$5$1.class
?????文件???????1399??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$5.class
?????文件???????1618??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$6.class
?????文件???????1220??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$7.class
?????文件????????897??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$8.class
?????文件???????1517??2013-10-26?15:33??新建文件夾\客戶端\chatRoom\bin\com\csu\chatroom\ChatActivity$9.class
............此處省略427個(gè)文件信息
評(píng)論
共有 條評(píng)論