标签:
利用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://www.cnblogs.com/xubuhang/p/4218184.html