本贴在http://www.cnblogs.com/hanyonglu/archive/2012/03/16/2399655.html下略为改动。

Apndroid Push Notification的特点: 

快速集成:提供一种比C2DM更加快捷的使用方式,避免各种限制.

无需架设服务器:通过使用"云服务",减少额外服务器负担.

可以同时推送消息到网站页面,android 手机

耗电少,占用流量少.

具体配置过程: 

首先, 我们需要下载androidpn-client-0.5.0.zip和androidpn-server-0.5.0-bin.zip。

下载地址:http://sourceforge.net/projects/androidpn/  http://www.pudn.com/downloads397/sourcecode/book/detail1697495.html

解压两个包,Eclipse导入client,配置好目标平台,打开raw/androidpn.properties文件,配置客户端程序。

1. 如果是模拟器来运行客户端程序,把xmppHost配置成10.0.2.2[模拟器把10.0.2.2认为是所在主机的地址,127.0.0.1是模拟器本身的回环地址,10.0.2.1表示网关地址,10.0.2.3表示DNS地址,10.0.2.15表示目标设备的网络地址],关于模拟器的详细信息,大家可参阅相关资料,这里不再详述.

xmppPort=5222 是服务器的xmpp服务监听端口
运行androidpn-server-0.5.0\bin\run.bat启动服务器,从浏览器访问http://127.0.0.1:7070/index.do (androidPN Server有个轻量级的web服务器,在7070端口监听请求,接受用户输入的文本消息)
运行客户端,客户端会向服务器发起连接请求,注册成功后,服务器能识别客户端,并维护和客户端的IP长连接。

2. 如果是在同一个局域网内的其他机器的模拟器测试(或者使用同一无线路由器wifi上网的真机) ,则需要把这个值设置为服务器机器的局域网ip.   

例如 你的电脑和android手机 都通过同一个无线路由器wifi上网, 电脑的ip地址为 192.168.1.2 而 手机的ip地址为 192.168.1.3, 这个时候 需要把这个值修改为 xmppHost=192.168.1.1 或是电脑的IP地址,就可以在手机上使用了. 

3. 如果是不在同一个局域网的真机测试,我们需要将这个值设置为服务器的IP地址。

具体配置如下图所示:

我的电脑IP是:192.168.8.107 

服务器运行主界面:

推送信息:

测试结果如下图:

模拟器和真机测试通过。

如果运行的时候出现这个错误: java.lang.NoClassDefFoundError: org.androidpn.client.PersistentConnectionListener  

解决办法:

可能是你的ADT版本太高了

首先clean你的项目,运行一次试试,如果还是报该异常,则将项目下的lib文件夹删除,新建一个libs文件夹,将asmack.jar文件放进去,clean项目运行,问题解决!

最新文章

  1. geotrellis使用(二)geotrellis-chatta-demo以及geotrellis框架数据读取方式初探
  2. C - 搜索
  3. 18 个命令&工具帮你定位 Linux 性能问题
  4. ACM算法总结及刷题参考
  5. Modularity模块化
  6. json对象,使用 “ . ”获取值是,不能使用变量作为属性名。
  7. [转载]MVC3缓存:使用页面缓存
  8. java_jdbc_3层 解耦
  9. JAVA学习-JAVA环境准备
  10. Things About 'extern'
  11. codevs 4511 信息传递(NOIP2015 day1 T2)
  12. 微信小程序开发工具 常用快捷键
  13. WEB服务器5--IIS中ISAPI扩展、ISAPI筛选器
  14. Android string.xml error: Apostrophe not preceded by \
  15. Kubernetes DNS 简介
  16. poj2901 Hotel
  17. EasyUI实现更换主题能过样式添加id实现
  18. Spark之join、leftOuterJoin、rightOuterJoin及fullOuterJoin
  19. <大话设计模式>工厂模式,策略模式
  20. windows7使用Sphinx+PHP+MySQL详细介绍

热门文章

  1. jquery格式化时间戳 2011-01-01
  2. linux 自动登录脚本
  3. 会php不回缓存行吗?多重实现
  4. qTip2 精致的jQuery提示信息插件
  5. Java高级之内存模型分析
  6. [LeetCode]题解(python):038-Count and Say
  7. 在css中定义滚动条样式
  8. Selenium2学习-032-WebUI自动化实战实例-030-JavaScript 在 Selenium 自动化中的应用实例之五(高亮标示元素)
  9. 【转】Java魔法堂:String.format详解
  10. 破解Mysql数据库密码