android百度云推聊(转)

 偶然的一天,发现百度出了一个云推送包,想想百度的服务器还是比较靠谱的说,怎么着也比我们自己搭建的服务器要稳定,于是乎,我就花了几天时间,写了一个小小的聊天工具,权当是练手。主要思路是:客户端的聊天内容通过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, 下载次数: 1706) 
(推聊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,我就不多作解释了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值