老大给了任务要看推送,ok,以前老是听说过,终于还是要搞了,接触新技术都是很激动的说,,,,
Android中实现信息推送,其中一个比较成熟的解决方案便是使用XMPP协议实现。而AndroidPn项目就是使用XMPP协议实现信息推送的一个开源项目。
具体配置过程:
第一:
我们需要下载androidpn-client-0.5.0.zip和androidpn-server-0.5.0-bin.zip。
很多文章里 的下载地址:http://sourceforge.net/projects/Androidpn/ 但是实际操作了下 发现 提示 :page not found,,,
找到了另一个地址: http://sourceforge.net/projects/androidpn/ 基本一样,但是可以打开 ,这是 第一个小问题
第二:解压,配置环境变量,启动服务端
ok下载好了 上面的两个包,,,把客户端解压导入 工程 ,然后 建立模拟器 ,这时服务器也下好了,解压,找到 androidpn-server-0.5.0\bin\run.bat启动服务器,这里有第二个需要注意的地方,你需要配置java环境变量,如果 没有配置,,,比如你cmd下输入javac提示 不是神马命令的话 点击run。bat是没有任何反应的,,,在网上找个 java 配置环境变量的文章吧,很多的,配置好后 单击 run.bat就可以启动服务,从浏览器访问http://127.0.0.1:7070/index.do (androidPN Server有个轻量级的web服务器,在7070端口监听请求,接受用户输入的文本消息),运行客户端,客户端会向服务器发起连接请求,注册成功后,服务器能识别客户端,并维护和客户端的IP长连接。
第三:在服务端显示客户端
1. 如果是模拟器来运行客户端程序,把xmppHost(res/raw)配置成10.0.2.2
2. 如果是在同一个局域网内的其他机器的模拟器测试(或者使用同一无线路由器wifi上网的真机) ,则需要把这个值设置为服务器机器的局域网ip.
例如 你的电脑和android手机 都通过同一个无线路由器wifi上网, 电脑的ip地址为 192.168.1.2 而 手机的ip地址为 192.168.1.3, 这个时候 需要把这个值修改为 xmppHost=192.168.1.1 或是电脑的IP地址,就可以在手机上使用了
ok,基本上这个时候你都能在 服务端的浏览器里看到 链接的 user 了,如下图
但是我在做的时候 遇到了第三个问题,一直提示 有问题,报错(java.lang.NOclassdeffoundError),如图:
ok,把 引用的包所在的文件夹 lib修改成 libs 就可以了
ok,,,这是第一部分,持续更新