偶然的一天,发现百度出了一个云推送包,想想百度的服务器还是比较稳定的,怎么着比我们自己搭建的服务器要稳定得多,于是乎,我就花了几天时间,写了一个小小的聊天工具,权当是练手,以后如果有应用仅仅是需要给用户推送消息,其实没必要自己搭建一个服务器了,就把百度的包加进去,可以省掉很多事情了。好了,废话不多说,我们先来看看这个小工具的效果图,由于时间比较仓促,bug和错误在所难免,希望朋友们耐心一点,可以自己调试调试,或者把错误信息发送到我邮箱:way.ping.li@gmail.com。谢谢大家,如果我收到邮件,会及时处理的,再次表示感谢!!!
本文码下载:http://download.csdn.net/detail/weidi1989/5546321
由于代码量还算比较大,我这里就不贴代码了,简单的说一下原理,先来看看源码的结构:
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.uti:l这里是我放一些工具类的包,比如Log封装,Toast封装,网络判断,发送消息异步任务,Dialog等等。。。
com.way.db:这是是数据库操作包,有User、Message、最近通话都是保存在数据库的。
com.way.fragment:这里是放左右滑动菜单的左菜单和右菜单fragment。
接下来所有的包都是开源项目的view,我就不多作解释了。
朋友下源码去看看吧,另外分享一下我的小金库(今年整理的代码):http://share.weiyun.com/413f7e0dc1916f9ca51e861f403bd449
是保存在腾讯微云。