关闭

XMPP(三)-安卓即时通讯客户端

标签: xmpp
7124人阅读 评论(47) 收藏 举报
分类:

     由于时间原因,所以更新比较慢 ,还请大家谅解,此次是对上篇文章中的安卓客户端初级版本进行的一次更新优化,在这次更新后,就有那么一点样子了,可以拿的出手了,呵呵,还在关注的同学也可以及时下载更新。此次主要更新的内容如下:

1,聊天界面,新消息到来时,聊天界面同步刷新;

2,聊天界面,支持长按聊天记录时删除或复制聊天记录,及清空与该用户的全部聊天记录;

3,消息界面,支持长按某一会话,删除与该用户的会话记录;

4,支持消息未读数量显示(底部导航栏为总未读数,会话记录处为与该用户的聊天的未读消息数);

5,联系人界面,支持好友在线情况实时更新以及好友上下线提示;

6,添加好友时,支持发送自定义验证信息;

7,设置界面,支持自己在线状态修改(在线,隐身,离线等),支持个性签名设置,支持设置消息通知提醒(声音震动等),支持聊天记录及消息列表的清空;

8,退出时弹出退出提示框;

有图为证:



   在这里要说明下,个性签名也即心情,在设置过后,查看了下数据库,疑似并没有保存到数据库,因此只有你在线的情况下才会显示你设置过的签名,一旦下线,你的签名就消失了。关于头像显示,xmpp是支持设置头像的,不过就像我上篇文章所讲,局限性很大,包括个性签名,这个在真实的项目中都是要配合web服务器来实现的,所以不必太过纠结,主要还是看消息收发过程的处理。另,在聊天时发送自己当前位置这个功能是可以实现的,只需调用百度地图获取当前坐标即可,不过此次更新并未实现,有兴趣的同学可以实现以下。版本持续更新中,不过下次更新可能会久一点了...

   源码地址:http://download.csdn.net/detail/baiyuliang2013/8420339


再次说明一下注意点:在搭建服务端时,服务端名称要设置为你本机IP地址并与客户端XMPP_HOST保持一致如:192.168.x.xxx,(不要设置为127.0.0.1)

	public static final String XMPP_HOST = "192.168.8.229";
	public static final int XMPP_PORT = 5222;

客户端中XMPP_PORT=5222不可修改,这是xmpp固定端口,关于我说的这些注意事项都注意的话,一般是没问题的,另外,这里的源码或多或少会存在许多bug,大家主要参考思路,不能依赖博主的源码,遇到问题可多在网上查找资料搜索答案,才能不断进步,千万不要做拿来主义者!


收不到消息的,或者message.getBody()数组越界的同学,看下你发送消息时是否按照消息格式发送的,消息格式是:发送人&接收人&消息类型&消息内容&...,&为自定义的连接符,那么得到的msgbody也就是这一串字符,其中的信息需要先拆分,如果你只发送消息内容没有按格式来的话就会报错了,上篇文章是有介绍的,如果直接看的是第三篇的同学可以先阅读下第二篇,详细方法请看ChatActivity中sendMsg的几个方法!


*由于目前不再从事xmpp相关工作,时间也多不允许,因此该项目不再更新,对于项目中存在的bug未及时修复,还请大家见谅!大家可以更多的在网上查询相关资料,感谢您的关注!


13
2
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

android通过xmpp实现服务器到客户端的推送功能

最近项目中要做推送功能,除了自己知道的友盟推送外还不知道其它的实现方式,于是就上网百度了一下要实现推送的基本途径,发现主要还有以下几种方式。 1.客户端创建一个socket,与服务器端的serv...
  • lcq5211314123
  • lcq5211314123
  • 2014-11-16 18:59
  • 1290

Android基于XMPP Smack及Openfire学习笔记(1)

之前开发的项目中有用到IM聊天功能,但是这块功能公司有专门的IM团队来开发,由他们开发好后, 直接接入到我们APP中,我真正参与到IM开发的内容很少。现在抽项目相对比较闲的时间,自己来 一步步学习IM...
  • true100
  • true100
  • 2016-02-20 11:33
  • 1949

Android 实现Xmpp工具类

/** * XMPP服务器连接工具类. * * @author chen.lin * */ public class XmppManager { private static f...
  • lovoo
  • lovoo
  • 2016-04-21 13:39
  • 1692

【XMPP协议】开发Android即时通讯APP之了解XMPP(一)

目前正在忙公司项目,制作基于XMPP的即时通讯APP,为此必须先了解下XMPP协议,所以写篇博客加深下印象。 关于XMPP协议的相关介绍: XMPP(Extensible Messageing a...
  • u011669081
  • u011669081
  • 2016-01-07 21:29
  • 2152

XMPP(三)-安卓即时通讯客户端

版权声明:转载请注明出处:白玉梁的专栏http://blog.csdn.net/baiyuliang2013      由于时间原因,所以更新比较慢 ,还请大家谅解,此次是对上篇文章中的安卓客户...
  • qq_35114086
  • qq_35114086
  • 2016-11-25 09:25
  • 364

Android基于XMPP协议之实现即时通讯的原理

一、xmpp协议xmpp可以理解为可扩展的消息和出席协议(eXtensible Messageing and Presence Protocol).出席即可以理解为用户的在线的状态,消息则是服务器与客...
  • Jacky_Can
  • Jacky_Can
  • 2017-07-26 22:02
  • 980

XMPP即时通讯协议

XMPP协议简介 XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messagin...
  • ideal_Utopia
  • ideal_Utopia
  • 2016-09-29 16:19
  • 2071

即时通讯(IM)面试题

XMPP的实现原理有没有做过即时通讯?是否使用过XMPP,讲述一下XMPP的实现原理 XMPP是一个即时通讯的协议,它规范了用于即时通信在网络上数据传输格式的,比如登录,获取好友列表等等的格式,XMP...
  • flower_55
  • flower_55
  • 2016-06-02 11:58
  • 2643

android基于xmpp的即时通讯应用

xmpp是一个通信协议。因为这是个开放的协议,为了节俭开发成本,很多即时应用都采用了这个协议。Android上最常用的组合asmack +openfire。Asmack是smack的android版,...
  • limb99
  • limb99
  • 2014-05-26 21:05
  • 19134

android通过xmpp实现服务器到客户端的推送功能

最近项目中要做推送功能,除了自己知道的友盟推送外还不知道其它的实现方式,于是就上网百度了一下要实现推送的基本途径,发现主要还有以下几种方式。 1.客户端创建一个socket,与服务器端的serv...
  • lcq5211314123
  • lcq5211314123
  • 2014-11-16 18:59
  • 1290
    个人资料
    • 访问:345971次
    • 积分:4705
    • 等级:
    • 排名:第7164名
    • 原创:95篇
    • 转载:10篇
    • 译文:0篇
    • 评论:392条
    我的微博
    微信公众号AndroidMax
    博客专栏
    最新评论