XMPP(三)-安卓即时通讯客户端
由于时间原因,所以更新比较慢 ,还请大家谅解,此次是对上篇文章中的安卓客户端初级版本进行的一次更新优化,在这次更新后,就有那么一点样子了,可以拿的出手了,呵呵,还在关注的同学也可以及时下载更新。此次主要更新的内容如下:
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未及时修复,还请大家见谅!大家可以更多的在网上查询相关资料,感谢您的关注!
XMPP(三)-安卓即时通讯客户端的更多相关文章
- XMPP之ios即时通讯客户端开发-配置XMPP基本信息之工程代码(五)
登录功能完成以后包含以下代码文件: AppDelegate.h AppDelegate.m LoginViewController.h LoginViewController.m LoginUser. ...
- XMPP之ios即时通讯客户端开发-创建工程添加XMPPFramework及其他框架(三)
XMPPFramework GitHub: https://github.com/robbiehanson/XMPPFramework 获取源代码 git clone https://github.c ...
- XMPP之ios即时通讯客户端开发-配置XMPP基本信息(四)
前文已经有配置open fire,接下来要通过XMPP框架链接到open fire的服务器: 1.首先要在系统偏好设置里面打开open fire的服务器 2.代码中设置xmpp的myJID 有几个名词 ...
- XMPP之ios即时通讯客户端开发-mac上搭建openfire服务器(二)
come from:http://www.cnblogs.com/xiaodao/archive/2013/04/05/3000554.html 一.下载并安装openfire 1.到http://w ...
- openfire+asmack搭建的安卓即时通讯(三) 15.4.9
(能用得上话的话求点赞=-=,我表达不好的话跟我说哦) 上一次我们拿到了服务器端的组数据和用户信息,这就可以为我们日后使用好友系统打下基础了! 但是光是拿到了这些东西我们怎么能够满足呢?我们一个即时通 ...
- openfire+asmack搭建的安卓即时通讯(一) 15.4.7
最进开始做一些android的项目,除了一个新闻客户端的搭建,还需要一个实现一个即时通讯的功能,参考了很多大神成型的实例,了解到operfire+asmack是搭建简易即时通讯比较方便,所以就写了这篇 ...
- XMPP openfire Smack 即时通讯
重新整理下这篇文章. 这篇文章的主要任务是使用AndroidStudio,通过Openfire,利用XMPP协议完成一个可以即时通讯.拥有好友系统的聊天软件. 一.服务器配置与相关库 理论不多说,只谈 ...
- XMPP协议实现即时通讯底层书写 (一)--从RFC6121阅读開始
Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence ok,额瑞巴蒂,说好的阅读RFC61 ...
- 开源jabber(XMPP)架设内部即时通讯服务的解决方案
Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用. XMPP(可扩展消息处理现场协议)是基于可扩展 ...
随机推荐
- 06_Linux目录文件操作命令3查找命令_我的Linux之路
上几节已经大致跟大家说了在Linux端文件目录操作的一些命令 这篇随笔,我们继续来学习对文件目录的操作命令 对文件或目录进行查找的命令 find 指定目录下查找文件 find(选项)(参数) find ...
- WebApi的安全性及其解决方案
一.前言 WebApi的小白想要了解一些关于WebApi安全性相关的问题,本篇文章是整理一些关于WebApi安全.权限认证的文章. 二.内容正文 2.1 不进行验证 客户端调用:http:// ...
- [ZJOI 2014]力
Description 给出n个数qi,给出Fj的定义如下: $$F_j = \sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{i>j}\frac{q_i ...
- [NOI 2015]荷马史诗
Description 追逐影子的人,自己就是影子. ——荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是由& ...
- [SDOI2016]储能表
Description 有一个 n 行 m 列的表格,行从 0 到 n−1 编号,列从 0 到 m−1 编号.每个格子都储存着能量.最初,第 i 行第 j 列的格子储存着 (i xor j) 点能量. ...
- hdu 5700区间交(线段树)
区间交 Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...
- zoj2112 树状数组+主席树 区间动第k大
Dynamic Rankings Time Limit: 10000MS Memory Limit: 32768KB 64bit IO Format: %lld & %llu Subm ...
- 基于Android的高校饮水宝app
这是一个高校饮用水配送项目,是一个毕业设计,去年的,包括了服务端和客户端,是一个不错的项目,分享一下: 随着通讯行业的迅猛发展,我国的手机用户也在不断的增加.据信息部的统计数据显示,我国已有接近7. ...
- html高度塌陷以及定位的理解
高度塌陷的含义: 父元素的高度,默认被子元素撑开,目前来讲box2多高,box1就多高.此时如果子元素设置浮动,则会导致其完全脱离文档流,子元素脱离文档流将无法撑开父元素, 导致父元素的高度丢失,就是 ...
- MySQL的常用操作命令详解
系统管理">系统管理 mysql服务">启动MySQL服务 通过windows服务管理器启动MySQL服务 ? 1 开始-->运行-->输入services ...