首页 > 代码库 > AndroidPn消息推送

AndroidPn消息推送

接着前面的工作,消息接收之后,要推送给不同的客户端。关于消息推送,网上有很多方式,http长连接,xmpp协议,还有一个谷歌的貌似叫C2DM的东西。

在此之前,用openfire做了一个小demo,例子是在网上找到的。也可以实现和AndroidPn差不多的一些功能,包括点对点,广播消息,反正都是xmpp协议的。

客户端是安卓的,所以,用androidpn。

这个东西是韩国人写的,官方文档也都是韩文(呵呵)。

(一)运行源码

源码是用myeclipse编译的,在eclipse里面,要处理一下,属性有个project facets,修改一下。也可以新建一个web工程,把原来eclipse里面的东西拷贝过来,不过比较麻烦。本人采用的就是这种麻烦的方式,不管怎么样,这样自己建立的工程,比较干净。

其中,会有几个注意事项,首先是数据源的配置,这个要自己修改为自己的数据库。源码用的是hibernate连接,在配置里面,修改即可。只要数据库连接的没问题,其他一般不会报错。

然后就是跑起来的时候,有些东西会发生404,比如:

这里面的,home,users,sessions这些按钮。

因为源码用的是sitemesh的模板技术,里面的路径的地址应该是按照原myeclipse的,这个问题应该是新建项目引起的,修改一下webroot下面decorators里的default文件,将tabmenu里面的几个连接路径修改一下,去掉前面的/就好了。

(二)源码运行

当推送消息的时候,会调用NotificationManager类中的sendBroadcast或者sendNotifcationToUser方法。

这里用的是广播,里面会发一个字符串作为消息体。

在我们的项目里,就可以调用这个方法,来推送消息了。

百度文库里有一篇介绍,关于使用该源码的两个场景的配置。

http://wenku.baidu.com/link?url=qW7UPz9p3v4VyuNJJc1H7jP4QY4uBKTJtNEBhPJRhakWD_OCN2kXvTLRH0fx7fg7Xd9J-NCX_JlvgjDu-kMnQJCtk_Sgms-6QAGYcqZTFeW

主要是要注意,如果你的项目中也存在spring的话,如果也有数据源,这些bean有可能冲突。