XMPP在android客户端上的应用 Androidpn的使用[找不到org.androidpn.client.PersistentConnectionListener]
2015-02-11 14:15
309 查看
关于服务器端向Android客户端的推送,主要有三种方式:
1.客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送,这是去服务端拽数据。但是实现简单,主要缺点:耗电等
2.Google的C2DM,具体不细说,缺点,服务器在国外,你懂得,不是很稳定。
3.XMPP协议,它是一种基于XML的传递协议,具有很强的灵活性和可扩展性。它的特点是将复杂性从客户端转移到了服务器端。
听说GTalk、QQ、IM等都用这个协议。
接下来说说XMPP在android客户端上的应用。分两部分:服务端搭建和客户端实现。
服务端搭建:
如果想测试一下功能,直接用搭建好的服务就行,下载androidpn-server-0.5.0-bin.zip ,由于附件太大,上传不上来
下载地址: http://sourceforge.net/projects/androidpn/files/?source=navbar
点击bin目录下得run.bat,直接搭好服务,在浏览器上输入 http://127.0.0.1:7070 就进入管理界面。如下图:
如果你想自己更改服务,下载附件
androidpn-server-0.5.0-src.zip (303.73
KB, 下载次数: 4261) ,自行修改。
展示一下管理的发送页面:
客户端实现:
下载工程源码
androidpn-client-0.5.0.zip (347.74
KB, 下载次数: 5273) ,导入工程,运行前更改一处IP地址,修改androidpn.properties文件中的xmppHost为xmppHost=10.0.2.2
原因:模拟器访问本机需要改成10.0.2.2,下图为SDK中说明。
运行界面上图:
从服务端发送消息,客户端运行的界面:
终于看到推送了。
移动客户端相对电脑最大好处是随身携带,随身工作,发送消息接收消息极为方便。
学习androidpn这一xmpp协议的消息推送实现,碰到一个问题:
client端 导入eclipse无法运行,
提示 Could not find class 'org.androidpn.client.PersistentConnectionListener'
包下有这个类,怀疑环境问题,一番搜索找打答案。
adt新版版 libs成了lib,因此出现问题。
解决方法:lib重命名libs,右键项目名-“built path” -configura build path - libraries - 修改 “asmack.jar”路径
重写运行即可。
源码下载:http://download.csdn.net/detail/luoww1/8440773
1.客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送,这是去服务端拽数据。但是实现简单,主要缺点:耗电等
2.Google的C2DM,具体不细说,缺点,服务器在国外,你懂得,不是很稳定。
3.XMPP协议,它是一种基于XML的传递协议,具有很强的灵活性和可扩展性。它的特点是将复杂性从客户端转移到了服务器端。
听说GTalk、QQ、IM等都用这个协议。
接下来说说XMPP在android客户端上的应用。分两部分:服务端搭建和客户端实现。
服务端搭建:
如果想测试一下功能,直接用搭建好的服务就行,下载androidpn-server-0.5.0-bin.zip ,由于附件太大,上传不上来
下载地址: http://sourceforge.net/projects/androidpn/files/?source=navbar
点击bin目录下得run.bat,直接搭好服务,在浏览器上输入 http://127.0.0.1:7070 就进入管理界面。如下图:
如果你想自己更改服务,下载附件
androidpn-server-0.5.0-src.zip (303.73
KB, 下载次数: 4261) ,自行修改。
展示一下管理的发送页面:
客户端实现:
下载工程源码
androidpn-client-0.5.0.zip (347.74
KB, 下载次数: 5273) ,导入工程,运行前更改一处IP地址,修改androidpn.properties文件中的xmppHost为xmppHost=10.0.2.2
原因:模拟器访问本机需要改成10.0.2.2,下图为SDK中说明。
运行界面上图:
从服务端发送消息,客户端运行的界面:
终于看到推送了。
移动客户端相对电脑最大好处是随身携带,随身工作,发送消息接收消息极为方便。
学习androidpn这一xmpp协议的消息推送实现,碰到一个问题:
client端 导入eclipse无法运行,
提示 Could not find class 'org.androidpn.client.PersistentConnectionListener'
包下有这个类,怀疑环境问题,一番搜索找打答案。
adt新版版 libs成了lib,因此出现问题。
解决方法:lib重命名libs,右键项目名-“built path” -configura build path - libraries - 修改 “asmack.jar”路径
重写运行即可。
源码下载:http://download.csdn.net/detail/luoww1/8440773
相关文章推荐
- XMPP在android客户端上的应用 Androidpn的使用[找不到org.androidpn.client.PersistentConnectionListener]
- Androidpn的使用[找不到org.androidpn.client.PersistentConnectionListener]
- Androidpn的使用[找不到org.androidpn.client.PersistentConnectionListener]
- Androidpn的使用[找不到org.androidpn.client.PersistentConnectionListener
- Androidpn的使用[找不到org.androidpn.client.PersistentConnectionListener]
- androidpn提示错误信息:java.lang.NoClassDefFoundError: org.androidpn.client.PersistentConnectionListener
- java.lang.NoClassDefFoundError: org.androidpn.client.PersistentConnectionListener
- java.lang.NoClassDefFoundError: org.androidpn.client.PersistentConnectionListen 问题解决
- Android的网络应用-使用Apache HttpClient
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android应用开发之PhoneStateListener 的使用
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android应用内使用新浪微博SDK发送微博(不调用微博客户端)
- android中HttpClient和HttpConnection的区别和应用
- 模拟手机客户端与Web应用的交互[URL和HttpURLConnection的使用]
- androidPN java.lang.NoClassDefFoundError: org.androidpn.client.解决方法
- Android-Socket多线程应用(聊天室客户端、Handler的简单使用)
- Android访问网络,使用HttpURLConnection还是HttpClient?
- PhoneGap系列专题之二:使用PhoneGap云服务在线打包应用到Android客户端应用
- tigase客户端通过ip访问 Not able to connect Android client with local XMPP server