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

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

0818b9ca8b590ca3270a3433284dd417.png

接收消息主要代码:

//消息监听

ChatManager cm = XmppConnection.getConnection().getChatManager();

//发送消息给pc服务器的好友(获取自己的服务器,和好友)

final Chat newchat = cm.createChat(pFRIENDID, null);

cm.addChatListener(new ChatManagerListener() {

@Override

public void chatCreated(Chat chat, boolean able) {

chat.addMessageListener(new MessageListener() {

@Override

public void processMessage(Chat chat, Message message) {

//收到来自pc服务器的消息(获取自己好友发来的信息)

if(message.getFrom().contains(userChat))

{

//获取用户、消息、时间、IN

String[] 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() {

@Override

public 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();

}

//清空text

msgText.setText("");

}

});

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

0818b9ca8b590ca3270a3433284dd417.png

主要代码:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值