android 利用androidnp实现消息推送

利用androidnp实现消息推送

介绍:

推送:所谓的消息推送就是从服务器端向移动终端发送连接,传输一定的信息。

服务器端向Android客户端的推送,主要有三种方式:
1.客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送,这是去服务端拽数据。但是实现简单,主要缺点:耗电等
2.Google的C2DM,服务器在国外,不稳定。
3.XMPP协议,它是一种基于XML的传递协议,具有很强的灵活性和可扩展性。它的特点是将复杂性从客户端转移到了服务器端。
2. XMPP协议

XMPP全称Extensible Messaging and Presence Protocol,前身是Jabber项目,是一种以XML为基础的开放式即时通讯协议。XMPP因为被Google Talk和网易泡泡应用而被广大网民所接触。XMPP的关键特色是,分散式的即时通讯系统,以及使用XML串流。XMPP目前被IETF国际标准组织完成了标准化工作。

Android push notification(androidpn) 是一个基于XMPP协议的java开源实现,它包含了完整的客户端和服务器端。该服务器端基本是在另外一个开源工程openfire基础上修改实现的。

实现步骤:

1、下载

androidpn-demoapp-0.5.0.zip(官方客户端Demo)

http://nchc.dl.sourceforge.net/project/androidpn/androidpn-demoapp/androidpn-demoapp-0.5.0.zip

 

androidpn-client-0.5.0.zip(可修改客户端)

http://nchc.dl.sourceforge.net/project/androidpn/androidpn-client/androidpn-client-0.5.0.zip

 

androidpn-server-0.5.0-bin.zip(androidpn服务器)

http://ncu.dl.sourceforge.net/project/androidpn/androidpn-server/androidpn-server-0.5.0-bin.zip

 

2、点击C:\Users\PC\Downloads\androidnp\androidpn-server-0.5.0\bin中的run.bat,进入自动安装

 

安装成功(再次打开还是要run.bat)

 

3、在Eclipse中导入androidpn-client-0.5.0,提醒无法导入。解决方法:拷贝到workspace再次导入。

4、在/androidpn-demoapp/res/raw/androidpn.properties修改你服务器的IP如192.168.114

 

 

5、在Eclipse中Android导入androidpn-demoapp-0.5.0,运行项目出错

 

解决方法:错误原因代码依赖于其他库,需要在具体project上右键属性,在java build path里的order and export里把要编译的asmack包文件前打勾。然后再clean该工程,刷新再运行就可以了。

 

 

再次运行,显示成功

 

也可以单个推送:

学员资料:http://www.cnblogs.com/hanyonglu/archive/2012/03/04/2378971.html

      http://blog.csdn.net/shimiso/article/details/8156439

 

posted @ 2015-01-12 13:21  绚丽星空  阅读(1000)  评论(0编辑  收藏  举报