Android之基于百度云推送IM
来源:互联网 发布:java 分库分表框架 编辑:程序博客网 时间:2024/05/16 11:54
偶然的一天,发现百度出了一个云推送包,想想百度的服务器还是比较靠谱的说,怎么着也比我们自己搭建的服务器要稳定,于是乎,我就花了几天时间,写了一个小小的聊天工具,权当是练手。主要思路是:客户端的聊天内容通过json格式封装(包含聊天内容、发送人信息)之后,HTTP请求百度服务器,即请求把该消息发送到指定id的用户,请求成功之后,百度服务器就把我们的信息转发给指定的用户,对应用户再解析json格式的信息,就可以知道该消息来自何处,以及消息内容。好了,废话不多说,我们先来看看这个小工具的效果图,由于时间比较仓促,bug和错误在所难免,希望朋友们耐心一点,可以自己调试调试,或者把错误信息发送到我邮箱:way.ping.li@gmail.com。谢谢大家,如果我收到邮件,会及时处理的,再次表示感谢!!!
本文源码下载:http://download.csdn.net/detail/weidi1989/5546321
20130726最新版:http://download.csdn.net/detail/weidi1989/5817017
20131028更新到V1.2.3版本:http://download.csdn.net/detail/weidi1989/6465135(建议下载最新版本!)
开源中国托管地址:http://git.oschina.net/way/pushmessage
ChangeLog:
1.增加手势返回。可以手势拖动Activity实现返回,是本次最大的更新,仿ios7.0效果。
2.使用全新的应用Logo,不再使用百度云推送的Logo。
3.使用全新的Splash界面,不再使用QQ界面。
4.其他一些小bug的修复。
5.未升级最新的百度云推送SDK,敬请悉知。
新功能:1.横向滑动刷新以及好友分组高仿QQ分组方式。2.每个好友以及分组增加长按点击事件。如下图所示:
由于代码量还算比较大,我这里就不贴代码了,简单的说一下原理,先来看看源码的结构:
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://blog.csdn.net/way_ping_li/article/details/9056635
- Android之基于百度云推送IM
- Android之基于百度云推送IM
- Android之基于百度云推送IM
- Android之基于百度云推送IM
- Android之基于百度云推送IM
- Android之基于百度云推送IM
- [应用代码] Android之基于百度云推送IM
- 百度推送之Im
- Android 之百度推送
- Android客户端之百度云推送
- Android推送 百度云推送
- Android推送 百度云推送
- 消息推送之百度云推送Android集成与使用方法
- Android服务器主动推送之百度云推送
- Android 高仿微信实时聊天 基于百度云推送
- Android 高仿微信实时聊天 基于百度云推送
- Android 高仿微信实时聊天 基于百度云推送
- Android 高仿微信实时聊天 基于百度云推送2
- 搜索巨头亮剑:谷歌入战企业云计算市场
- 云计算给IPV6部署带来挑战
- 头脑风暴问题:如何将一只全新品种的龙虾卖给养虾人?
- UDP connect编程例子:UDP Client/Server程序--基础无难度
- SSH原理与运用(一):远程登录
- Android之基于百度云推送IM
- linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)
- javascript多表表头固定-1
- collections类的使用
- Java 驼峰式命名!
- mysql选取指定月份的数据
- 【javascript基础】函数
- 《学会提问》之六——推理过程中有没有谬误
- Visual Studio 2012