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有可能冲突。
AndroidPn消息推送的更多相关文章
- Android消息推送怎么实现?
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相 ...
- Android消息推送
1.引言 所谓的消息推送就是从服务器端向移动终端发送连接,传输一定的信息.比如一些新闻客户端,每隔一段时间收到一条或者多条通知,这就是从服务器端传来的推送消息:还比如常用的一些IM软件如微信.GTal ...
- Android消息推送完美方案[转]
转自 Android消息推送完美方案 推送功能在手机应用开发中越来越重要,已经成为手机开发的必须.在Android应用开发中,由于众所周知的原因,Android消息推送我们不得不大费周折.本文就是用来 ...
- Android消息推送完美方案
转自:http://bbs.hiapk.com/thread-4652657-1-1.html 推送功能在手机应用开发中越来越重要,已经成为手机开发的必须.在Android应用开发中,由于众所周知的原 ...
- Android消息推送完美解决方案全析
推送功能在手机应用开发中越来越重要,已经成为手机开发的必须.在Android应用开发中,由于众所周知的原因,Android消息推送我们不得不大费周折.本文就是用来和大家共同探讨一种Android消息推 ...
- Android 基于Netty的消息推送方案之Hello World(一)
消息推送方案(轮询.长连接) 轮询 轮询:比较简单的,最容易理解和实现的就是客户端去服务器上拉信息,信息的及时性要求越高则拉信息的频率越高.客户端拉信息的触发可以是一些事件,也可以是一个定时器,不断地 ...
- android系统下消息推送机制
一.推送方式简介: 当前随着移动互联网的不断加速,消息推送的功能越来越普遍,不仅仅是应用在邮件推送上了,更多的体现在手机的APP上.当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数 ...
- [android] 安卓消息推送的几种实现方式
消息推送的目的:让服务器端及时的通知客户端 实现方案 轮询:客户端每隔一定的时间向服务器端发起请求,获得最新的消息 特点:如果用在最新新闻通知上,效率就有点低了,技术简单,好实现 应用场景:服务器端以 ...
- android热门消息推送横向测评![转]
关于这个话题,已经不是什么新鲜事了.对于大多数中小型公司一般都是选择第三方的服务来实现.但是现在已经有很多提供推送服务的公司和产品,如何选择一个适合自己项目的服务呢?它们之间都有什么差别?在此为大家做 ...
随机推荐
- Java对称与非对称加密解密,AES与RSA
加密技术可以分为对称与非对称两种. 对称加密,解密,即加密与解密用的是同一把秘钥,常用的对称加密技术有DES,AES等 而非对称技术,加密与解密用的是不同的秘钥,常用的非对称加密技术有RSA等 为什么 ...
- LibreOJ 6282 数列分块入门 6(在线插入在线查询)
题解:还是分块,将每个块存入vector,然后在插入的时候就是sqrt(n)级的重构,如果块太大了,暴力将这个块拆开. 代码如下: #include<cmath> #include< ...
- Labyrinth(记忆化BFS)
Labyrinth http://codeforces.com/problemset/problem/1064/D time limit per test 2 seconds memory limit ...
- [udemy]WebDevelopment_How the Internet Works
Browsing the web Enter google.com, who is this google.com This question gets asked all the way down ...
- php使用数组语法访问对象
有一个对象,不过希望能用数组的语法来读写数据,可以使用 实现SPL的ArrayAccess接口来解决. 使用场景:加载配置文件类.larvel框架加载配置文件就这利用数组来操作对象. 数组式访问Obj ...
- 两个应用之间传递广播的规则 Broadcast
sendBroadcast(new Intent(Config.ACTION_PRINT),”com.qf.permission.print”);先判断应用有没有对应的权限 再去判断有没有对应的act ...
- Markdown的简单使用
markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式.(扩展名为.md) markdown语法 # 一级标题 ## 二级标题 ### ...
- [PHP] 转义字符 Escape character
\n is a symbol for new line \t is a symbol for tab and \r is for 'return'
- python的metaclass浅析-乾颐堂
元类一般用于创建类.在执行类定义时,解释器必须要知道这个类的正确的元类.解释器会先寻找类属性__metaclass__,如果此属性存在,就将这个属性赋值给此类作为它的元类.如果此属性没有定义,它会向上 ...
- stl string 使用指定的分隔符分割成数个子字符串
#include <iostream> #include <vector> #include <string> #include <algorithm> ...