[应用代码] Android之基于百度云推送IM

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

http://www.eoeandroid.com/thread-296417-1-1.html


偶然的一天,发现百度出了一个云推送包,想想百度的服务器还是比较靠谱的说,怎么着也比我们自己搭建的服务器要稳定,于是乎,我就花了几天时间,写了一个小小的聊天工具,权当是练手。主要思路是:客户端的聊天内容通过json格式封装(包含聊天内容、发送人信息)之后,HTTP请求百度服务器,即请求把该消息发送到指定id的用户,请求成功之后,百度服务器就把我们的信息转发给指定的用户,对应用户再解析json格式的信息,就可以知道该消息来自何处,以及消息内容。好了,废话不多说,我们先来看看这个小工具的效果图,由于时间比较仓促,bug和错误在所难免,希望朋友们耐心一点,可以自己调试调试,或者把错误信息发送到我邮箱:way.ping.li@gmail.com。谢谢大家,如果我收到邮件,会及时处理的,再次表示感谢!!!

(源码是基于eclipse工程打包,utf-8编码,如果遇到导入出错的童鞋,提供一种解决方案:新建一个空工程即不创建Activity(src目录应该为空),把res、libs、assets、AndroidManifest.xml删除,然后把我的代码对应复制进来然后把编码方式改成UTF-8。如果还是不行,请自行找度娘或谷哥帮忙,谢谢合作!)
本文源码下载: PushMessage.zip(2.14 MB, 下载次数: 2247)
(推聊1.2.1,一次小小的更新:①.解决1.2.0版本libs目录下存在两个百度云推送包,导致编译不过的问题。
②.这次只打包了纯代码,请自己新建工程,然后将代码copy到工程中,同时注意编码方式改成UTF-8。 )


开源中国托管地址: http://git.oschina.net/way/pushmessage (欢迎关注)
下面来看看效果图:
1.注册界面:


2.登录界面:


3.好友列表界面:


4.最近联系人界面:


5.右边设置界面:


6.好友列表左拉右拉刷新:


7.好友列表界面每个好友的点击事件处理:


8.聊天主界面:


9.表情滑动翻页效果是可以设置的,且设置界面是可手动滑动的:


10.最近会话列表界面,每个item可滑动删除:


11.通知栏挂机图标:


12.还有功能,请大家慢慢挖掘。

由于代码量还算比较大,我这里就不贴代码了,简单的说一下原理,先来看看源码的结构:


com.way.activity:理所当然的是所有Activity了,不多说。
com.way.adapter:这个是所有用到的适配器,比如ListView等等,也不多说。
com.way.app:这里我放了两个类,一个是Application,被我当作全局变量保存的工具类了,另外一个是接替系统异常处理的类,如果报错了,会把错误信息保存到文件,然后提示用户以邮件的形式发送给我,希望朋友们如果在遇到报错能不吝把log发送给我,谢谢!
com.way.baidupush.client:这里是接收百度服务器推送过来消息的广播接收者:PushMessageReceiver,所有消息都是通过这里接收的,另外我自己加了一个网络变化的接收,根据网络状况作出不同的处理。
com.way.baidupush.server:这里是发送消息的封装,我们要推送的消息是在这里通过HTTP请求百度服务器的,主要是一些HTTP请求的封装,看一下就知道了。
com.way.bean:这是bean包,不多说了,JAVA的基础知识,java bean。
com.way.common.util:这里是我放一些工具类的包,比如Log封装,Toast封装,网络判断,发送消息异步任务,Dialog等等。。。说明一下,这里的JsonUtil是我加工消息内容和解析消息的工具,我把每一条消息封装称json格式,包含发送人的nick、id、头像、发送时间以及消息内容等信息,然后再发送出去,对方收到之后再解析,就可以知道这消息是从何处发送过来的了。
com.way.db:这是是数据库操作包,有User、Message、最近通话都是保存在数据库的。
com.way.fragment:这里是放左右滑动菜单的左菜单和右菜单fragment。
接下来所有的包都是开源项目的view,我就不多作解释了。

朋友下源码去看看吧,另外分享一下我的小金库(今年整理的代码),是通过腾讯微云分享的:http://url.cn/GUABFb


本文码下载:http://download.csdn.net/detail/weidi1989/5546321

基于百度云推送Android聊天应用开发实战 "}"msg_type=0表示透传;data字段内容由App自行解析。接收处理:try {这种方式适合用于实时聊天场景,你可以完全掌控消息展示形式。经过这一整套设计,我们的系统具备了以下能力:✅高送达率:通过百度云推送穿透国产ROM限制✅低延迟:WebSocket实现毫秒级消息触达✅多端同步:历史消息、已读状态无缝衔接✅安全可控:Token验证 + TLS加密 + 敏感信息脱敏✅可维护性强。 阅读详情

相关推荐

推聊V1.2.3版本

基于百度云推送已更新到V1.2.3. Change Log: 1.增加手势返回。可以手势拖动Activity实现返回,是本次最大的更新,仿ios7.0效果。 2.使用全新的应用Logo,不再使用百度云推送的Logo。 3.使用全新的Splash界面,不再使用QQ界面。 4.其他一些小bug的修复。 5.未升级最新的百度云推送SDK,敬请悉知。

Android应用源码之百度推聊应用.zip

Android应用源码之百度推聊应用.zip

推聊1.2.0版本

1.推聊版本更新啦!基于最小百度云推送SDK2.3.0 2.引入智能心跳、消息压缩,增强长连接稳定性和节约流量 3.去除2.2.1中jni对armeabi-v7a的支持 4.其他小细节优化

小程序源码 百度推聊应用.zip

免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。

收藏一个关于推送的文章

转自: http://www.cocoachina.com/bbs/read.php?tid=127653&fpage=2 推聊概述 PushTalk Overview 推聊是一个基于极光推送的手机聊天系统。支持群聊与点对点聊天。当前包括Android客户端与Java服务器端。3分钟就可以整套系统跑起来。 开源项目官方网站 http://github

liangguo03的专栏 6113

Android 高仿微信实时聊天 基于百度云推送

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38799363,本文出自:【张鸿洋的博客】 一直在仿微信界面,今天终于有幸利用百度云推送仿一仿微信聊天了~~~ 首先特别感谢:weidi1989分享的Android之基于...

chiruanxiao2898的博客 212

Android之基于百度云推送IM

20131028更新到V1.2.3版本:http://download.csdn.net/detail/weidi1989/6465135(建议下载最新版本!) ChangeLog: 1.增加手势返回。可以手势拖动Activity实现返回,是本次最大的更新,仿ios7.0效果。 2.使用全新的应用Logo,不再使用百度云推送的Logo。 3.使用全新的Splash界面,不再使用QQ界面。 4.其他一些小bug的修复。 5.未升级最新的百度云推送SDK,敬请悉知。

way 4万+

推聊更新版

推聊更新版: 1.优化好友列表,改变刷新方式!以及增加长按好友的点击事件。 2.升级云推送SDK库到最新版2.2.1,支持虚拟机等各种CPU型号的手机。 3.消息解析方式修改为gson解析。 4.其他各个小细节优化。

推聊1.2.1版本

推聊1.2.1,一次小小的更新: ①.解决1.2.0版本libs目录下存在两个百度云推送包,导致编译不过的问题。 ②.这次只打包了纯代码,请自己新建工程,然后将代码copy到工程中,同时注意编码方式改成UTF-8。

理解百度云推送的几个概念

之前我们android项目的IM功能和推送功能使用的是国内的环信,但是项目需要部署到欧洲,欧洲地区对个人隐私数据的保护非常严格,不允许我们将聊天等信息传到环信在国内的服务器上,所以不得不采用别的推送方案。后面经过研究,决定使用Amazon SNS移动消息推送服务。如果是中国,那我们就使用百度云推送解决方法;如果是国外环境,使用的是google GCM推送

aty 3140

基于android百度云推送务设计,Android之基于百度云推送IM

偶然的一天,发现百度出了一个云推送包,想想百度的服务器还是比较靠谱的说,怎么着也比我们自己搭建的服务器要稳定,于是乎,我就花了几天时间,写了一个小小的聊天工具,权当是练手。主要思路是:客户端的聊天内容通过json格式封装(包含聊天内容、发送人信息)之后,HTTP请求百度服务器,即请求把该消息发送到指定id的用户,请求成功之后,百度服务器就把我们的信息转发给指定的用户,对应用户再解析json格式的信...

weixin_39596090的博客 129
上一篇: 左对齐与去掉月、日的前导零的方法
下一篇: Android消息推送机制
rongwenbin
博客等级 码龄17年 291粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值