freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

xmpp協(xié)議的使用-資料下載頁

2025-05-14 05:01本頁面
  

【正文】 tChatManager()。 // get user Intent intent = getIntent()。 String user = (user)。 (user:+ user)。 // new a session newChat= (user, null)。 // 監(jiān)聽聊天消息 (newChatManagerListenerEx())。 // send message try{ (im bird man)。 } catch(XMPPException e) { //TODOAutogenerated catch block ()。 }監(jiān)聽類public classChatManagerListenerEx implementsChatManagerListener { @Override public voidchatCreated(Chat chat, booleanarg1) { //TODOAutogenerated method stub (ml)。 } } public classMessageListenerEx implementsMessageListener { @Override public voidprocessMessage(Chat arg0, Message message) { String result = () + :+ ()。 (result)。 msg = ()。 = 0。 Bundle bd = newBundle()。 (msg, result)。 (bd)。 (msg)。 } } 所獲取到的消息都是通過handler來更新UIpublicHandler handler= newHandler() { @Override public voidhandleMessage( msg) { switch() { case0: { String result = ().getString(msg)。 (() + \n+ result)。 } break。 default: break。 } } }。 aaa跟bbb 的聊天第二次修改:第一次的測試,發(fā)現(xiàn)如果多個人之間都成為好友,那么他們之間的聊天就出現(xiàn)了接收不到的信息,當然在跟spark測試時,spark可以收到android端的信息,不過android客戶端是收到這個信息,不過卻沒有顯示出來,具體原因還不太清楚。因此在第二次修改我改成監(jiān)聽所有聊天信息包,然后再分析包的歸屬,分發(fā)到對應的聊天窗口。 這里就是監(jiān)聽到包后打印的消息,打印出了jid和消息內容public classXmppMessageManager implementsChatManagerListener { privateXMPPConnection _connection。 privateChatManager manager = null。 public voidinitialize(XMPPConnection connection) { _connection = connection。 manager = ()。 (this)。 } @Override public voidchatCreated(Chat chat, booleanarg1) { //TODOAutogenerated method stub (newMessageListener() { public voidprocessMessage(Chat newchat, Message message) { // 若是聊天窗口存在,將消息轉往目前窗口 // 若窗口不存在,創(chuàng)建新的窗口 .println(() + :+ ())。 if(!(())) { ((), newchat)。 } else{ } } })。 } }主要就是重寫了ChatManagerListener類的監(jiān)聽,分發(fā)處理暫時沒有想好怎么寫。接著在后臺啟動service就可以開始監(jiān)聽,行了第一次修改那些可以去掉了^0^。 多人聊天模塊也是在主界面的菜單進入ActivityMultiChat,該界面顯示所創(chuàng)建的房間,點擊就跳轉到ActivityMultiRoom 。獲取所有房間比較簡單,只需執(zhí)行下面這段代碼hostrooms = (,)。跳轉到后獲取要加入的房間的jid,并創(chuàng)建監(jiān)聽。jid = getIntent().getStringExtra(jid)。 //后面服務名稱必需是創(chuàng)建房間的那個服務 String multiUserRoom = jid。 try{ muc = newMultiUserChat(, multiUserRoom)。 // 創(chuàng)建聊天室,進入房間后的nickname ()。 (TAG, join success)。 } catch(XMPPException e) { //TODOAutogenerated catch block ()。 } ChatPacketListener chatListener= newChatPacketListener(muc)。 (chatListener)。 監(jiān)聽大概的流程跟單人聊天差不多,都是handler來操作。不過多人聊天是重寫了PacketListener。具體如下(不過該方法是監(jiān)聽房間的信息,也就是說顯示的是以房間為名字的消息):classChatPacketListener implementsPacketListener { privateString _number。 privateDate _lastDate。 privateMultiUserChat _muc。 privateString _roomName。 publicChatPacketListener(MultiUserChat muc) { _number= 0。 _lastDate= newDate(0)。 _muc= muc。 _roomName= ()。 } @Override public voidprocessPacket(Packet packet) { Message message = (Message) packet。 String from = ()。 if(() != null) { DelayInformation inf = (DelayInformation) ( x, jabber:x:delay)。 Date sentDate。 if(inf != null) { sentDate = ()。 } else{ sentDate = newDate()。 } (TAG, Receive old message: date= + () + 。 message= + ())。 msg = ()。 = RECEIVE。 Bundle bd = newBundle()。 (from, from)。 (body, ())。 (bd)。 (msg)。 } } } 下載模塊在主界面對著用戶名長按,進入下載activity。進入activityFileTransfer,點擊傳輸按鈕即可將文件傳輸給之前選擇的用戶,當然這里做得比較簡單,并沒有拒絕功能,一旦發(fā)現(xiàn)有文件就接受。FileTransferManager transfer =newFileTransferManager( )。 String destination =user。 OutgoingFileTransfer out = transfer .createOutgoingFileTransfer(destination +/Smack)。那用戶是如何監(jiān)聽到有文件并且接受呢?在進入主界面的時候就已經(jīng)開始了一個service(fileListenerService),該服務創(chuàng)建文件的監(jiān)聽類(XmppFileManager),監(jiān)聽類主要繼承FileTransferListener 重寫里面的fileTransferRequest方法。File saveTo。 // set answerTo for replies and send() answerTo= ()。 if(!(Environment .getExternalStorageState())) { send(External Media not mounted read/write)。 return。 } else if(!()) { send(The directory + () + is not a directory)。 return。 } saveTo = newFile(landingDir, ())。 if(()) { send(The file + () + already exists)。 // delete ()。 // return。 } IningFileTransfer transfer = ()。 send(File transfer: + () + + () / 1024 + KB)。 try{ (saveTo)。 send(File transfer: + () + + ())。 doublepercents = 。 while(!()) { if(().equals()) { percents = ((int) (() *
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1