Android 基于xmpp协议,smack包,openfire服务端的高仿QQ的即时通讯实现【5】消息发送,接收;修改心情的实现

来源:互联网 发布:商家给淘宝发票抬头 编辑:程序博客网 时间:2024/05/17 18:01

这一节就是消息发送与接收的实现了


接收消息主要代码:

//消息监听ChatManager cm = XmppConnection.getConnection().getChatManager();//发送消息给pc服务器的好友(获取自己的服务器,和好友)final Chat newchat = cm.createChat(pFRIENDID, null);cm.addChatListener(new ChatManagerListener() {@Overridepublic void chatCreated(Chat chat, boolean able) {chat.addMessageListener(new MessageListener() {@Overridepublic void processMessage(Chat chat, Message message) {//收到来自pc服务器的消息(获取自己好友发来的信息)if(message.getFrom().contains(userChat)){//获取用户、消息、时间、INString[] args = new String[] {userChat, message.getBody(), TimeRender.getDate(), "IN" };//在handler里取出来显示消息android.os.Message msg = handler.obtainMessage();msg.what = 1;msg.obj = args;msg.sendToTarget();}}});}});

发送消息主要代码:

//发送消息Button btsend = (Button) findViewById(R.id.formclient_btsend);btsend.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//获取text文本String msg = msgText.getText().toString();if(msg.length() > 0){//发送消息listMsg.add(new Msg(pUSERID, msg, TimeRender.getDate(), "OUT"));//刷新适配器adapter.notifyDataSetChanged();try {//发送消息newchat.sendMessage(msg);}catch (XMPPException e){e.printStackTrace();}}else{Toast.makeText(ChatActivity.this, "发送信息不能为空", Toast.LENGTH_SHORT).show();}//清空textmsgText.setText("");}});

以下是修改心情的实现,在自建客户端修改心情,Spark端会即时修改;



主要代码:

myMood = ((EditText)myMoodView.findViewById(R.id.myMood)).getText().toString().trim();                    System.out.println("我更改的心情是:"+myMood);                    XmppService.changeStateMessage(connection, myMood);                    myStatusText.setText(myMood);

/**      * 修改心情      * @param connection      * @param status      */      public static void changeStateMessage(final XMPPConnection connection,final String status)      {          Presence presence = new Presence(Presence.Type.available);          presence.setStatus(status);          connection.sendPacket(presence);          }  

以上就是我写的QQ的主要实现,个人的简单作品,不足之处请多执教,欢迎交流。源码下载地址:http://download.csdn.net/detail/yuanqihesheng/5322946