服务器端转发消息功能上节已经实现,只需将消息转发给消息包中的接收人即可,

if(m.getType().equals(YQMessageType.COM_MES)){//如果是普通消息包  //取得接收人的通信线程  ServerConClientThread scc=ManageServerConClient.getClientThread(m.getReceiver());ObjectOutputStream oos=new ObjectOutputStream(scc.s.getOutputStream());  //向接收人发送消息  oos.writeObject(m);
}

在客户端收到消息包后,通过广播发送到ChatActivity中:

//把从服务器获得的消息发送到ChatActivityIntent intent = new Intent("org.yhn.yq.mes");String[] message=new String[]{m.getSender()+"",m.getContent(),m.getSendTime()};intent.putExtra("message", message);context.sendBroadcast(intent);

ChatActivity:

public class RecentActivity extends Activity{ListView listView;List<RecentEntity> chatEntity=new ArrayList<RecentEntity>();protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_recent);//注册广播IntentFilter myIntentFilter = new IntentFilter(); myIntentFilter.addAction("org.yhn.yq.mes");registerReceiver(new MyBroadcastReceiver(), myIntentFilter);}public class MyBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {String[] mes = intent.getStringArrayExtra("message");Toast.makeText(context, "收到["+mes[0]+"]的消息:"+mes[1], Toast.LENGTH_SHORT).show();//更新最近会话列表//unregisterReceiver(MyBroadcastreceiver);}}
}

源码已经上传至我的资源,谢谢大家支持!欢迎一起学习交流!

转载请注明出处:http://blog.csdn.net/mimitracely

Android 开发即时聊天工具 YQ :(五) 发送消息相关推荐

  1. Android 开发即时聊天工具 YQ :(四) 获取好友列表

    在Android 开发即时聊天工具 YQ :(三) 实现登陆功能中已经实现了登陆功能,离能聊天又近了一步了 :) 在实现聊天之前还有一个重要的东西,?没错,就是好友列表,没的好友你和谁聊呀,是吧, 嘿 ...

  2. android 即时聊天工具 yq,Android 开发即时聊天工具 YQ :(四) 获取好友列表

    实现聊天之前还有一个重要的东西,?没错,就是好友列表,没的好友你和谁聊呀,是吧, 嘿嘿,一切从简,早点实现基本的聊天目标的说,所以代码很懒(or 烂?),为什么呢?看完就知道了, 在服务器端当登陆成功 ...

  3. Android 开发即时聊天工具 YQ :(六) 最近会话列表

    实现的效果如图: RecentActivity: public class RecentActivity extends Activity{ListView listView;List<Rece ...

  4. Android 开发即时聊天工具 YQ :(三) 实现登陆功能

    前面socket基本通信完了,登陆界面也已经完成,下面就是重点了,实现登陆功能 服务器和客户端的代码当然不肯能用那个控制台的那个了,所以全部得重写,不过原理都一样,代码也差不多,都有注释,一看就明白. ...

  5. ios开发xmpp仿微信即时聊天工具

    最近在做一个项目,需要一个即时聊天工具,先打算有第三方环信(http://www.easemob.com),但是最终老板不允许,要自己开发用自己的服务器,哎!如果有需要的可以去看看这个环信,真的不错. ...

  6. 基于Nodejs开发的web即时聊天工具

    由于公司需要开发web即时聊天的功能,开始时我们主要的实施方法是用jquery的ajax定时(10秒)轮询向服务器请求,由于是轮询请求,对 服务器的压力比较大.我们网站上线的时间不长,访问量不是很大, ...

  7. 局域网即时聊天工具都有哪些?

    在互联网普及的今天,使用即时聊天工具沟通交流在人们的日常生活和工作当中已经十分普及.但由于企业内部敏感信息通过互联网泄露的现象频发,不少企业出于安全性考虑只能转用局域网环境办公,在转用局域网环境办公后 ...

  8. android简单即时聊天sdk

    android简单即时聊天sdk 切换用户登录的实现 联系人列表的实现 聊天页的实现 消息缓存与排序 消息接收和分发--数据库队列和投递队列 有序列表的维护 切换用户登录的实现 由于不同的登录用户需要 ...

  9. 跨跃平台交流无极限——linux下如何使用即时聊天工具,跨跃平台 交流无极限——Linux下如何使用即时聊天工具(一)...

    I技应 术用与 跨跃平台交流无极限 维普资讯 http://doc.xuehai.net o n I s o f i e n t@ c n i i c o m t . L n x下如何使用即时聊天工具 ...

最新文章

  1. hdu A + B Problem II(大数相加,数组实现)
  2. 第四章 遗传变异的分类
  3. GBDT与XGBoost区别与联系 GBDT近些年来更因为被用于构建搜索排序的机器学习模型而引起广泛的关注
  4. 第十五届全国大学生智能车全国总决赛获奖信息-华南赛区
  5. jQuery.each() 和原生JS的for loop效率对比
  6. 技术债! 怎样简洁高效的实现多个 Enum 自由转换
  7. html5+css3第一次作业_“台风爷爷,让我作业飞走!”南京小学生写的诗都这么逆天了?...
  8. 华硕2020年显卡_TrendForce集邦咨询:2020年液晶显示器年出货成长率达5.4%,华硕成长率居冠、三星排名上升...
  9. bzoj 1082: [SCOI2005]栅栏(二分+DFS)
  10. Java判断文件编码
  11. Java程序员技术书籍指南
  12. Process finished with exit code -1073740791 (0xC0000409)定位错误原因
  13. 友善串口助手使用教程_友善串口调试助手基本功能怎么使用-友善串口调试助手使用教程...
  14. 微信公众平台开发(110) 微信连Wi-Fi
  15. 基于SSM的汽车维修管理软件设计与实现
  16. 程序员最大的悲哀是什么?
  17. 【Delphi】中使用消息Messages(七)Android 系统消息
  18. 什么是SHA系列算法,SHA-1和MD5算法有什么区别
  19. ios5.1.1越狱实践
  20. java使用itextpdf将图片转换成pdf的简单实例

热门文章

  1. 【Jquery-03】jq中的样式操作
  2. Linux配置Java环境
  3. js 字符串数组转换成数字数组
  4. 如何添加、修改和删除矢量线段
  5. 如何测试c语言程序运行时间
  6. Python File(文件) 方法
  7. python中__init__.py的用法,执行指定的多个.py文件生成报告。简单粗暴1
  8. 为什么微软拼音会莫名其妙变繁体以及Junit的一些笔记
  9. 智慧车行预约小程序,汽车保养、维修、美容、检测预测小程序,前后端完整代码包括车行动态,养车常识,保养预约,维修预约,洗车美容预约
  10. 机器学习中的数学基础--随机变量与概率分布,伯努利分布和泊松分布,贝叶斯定理