`
- 浏览:
485110 次
- 性别:
- 来自:
北京
-
android 之 服务器主动向手机端推送消息-windows下Androidpn环境搭建
http://blog.csdn.net/attitudeisaltitude/article/details/10097043
前段时间参与了一个项目,最近有空就来总结以下。时常总结才会进步,尤其是做技术,要不就会很容易陷入狗熊掰棒子的窘境。
我在项目中完成的模块是实现服务器主动向android手机端推送消息。老师的要求是用C语言在Linux下写一个服务器来实现服务器主动向android手机端推送消息。经过收集资料,最终发现一个韩国人写的开源项目Android Push Notification(简称Androinpn)可以实现此功能。androidpn是一个基于XMPP协议的java开源Android push notification实现。它包含了完整的客户端和服务器端。官方网址是:http://sourceforge.net/projects/androidpn/。我用的版本是一个经过国人大神修改后的版本,里面有一些这个大神做的注释,更便于我们理解(再此表示对这位大神的感谢)。可以从这里下载到这个修改后的版本:推送.rar。下载后得到的是一个压缩包。解压后得到,其中Androidpn是服务器端程序,是一个 Java Web应用程序,androidpn-client是android程序。下面介绍下将这个开源项目运行起来的环境配置。
因为之前没做过java的项目,所以下面写的会小白一点。
首先是服务器端,服务器端是一个Java Web应用程序,首先要运行java程序就要装jdk。我装的jdk版本是,windows下安装只需要一路next就好了,只是要注意安装路径。安装完JDK后需要配置下环境变量,我的是win7系统配置过程如下:鼠标右击计算机----->属性---->高级系统设置(在左边栏)---->环境变量---->在系统环境变量中进行如下操作:1、新建->变量名:JAVA_HOME 变量值:D:\Program Files\Java\jdk1.6.0_10(这里就是你jdk的安装目录)。2、新建->变量名:CLASSPATH 变值:.;%JAVA_HOME%\lib
(注意最前面有个点)。3、编辑->变量名Path :在Path 变量值的最前面加上:%JAVA_HOME%\bin;
完成后使用文本编辑器(比如:edit.com/记事本/UltraEdit/EditPlus)编写如下代码,并保存为文件HelloWorld.java如下:
[java] view plaincopyprint?
01.<SPAN style="FONT-SIZE: 14px">/* HelloWorld.java */
02. public class HelloWorld {
03.
04. public static void main(String arg[]) {
05.
06. System.out.println("Hello, World!");
07.
08. }
09.
10. }</SPAN>
/* HelloWorld.java */
public class HelloWorld {
public static void main(String arg[]) {
System.out.println("Hello, World!");
}
}开启一个DOS窗口,跳转到HelloWorld.java所在的目录中,执行以下操作,,如上则表明我们的jdk安装成功。
服务器端是一个java Web应用程序,要运行此程序我们需要在eclipse中安装apache-tomcat。安装步骤如下:
首先下载 对应 eclipse 版本的 tomcat 插件版本,(这里要注意: Tomcat 插件是Tomcat 插件,Tomcat 是 Tomcat, 两者不能混淆!)下载地址:http://www.eclipsetotale.com/tomcatPlugin.html。
然后将得到的压缩包解压,放入 eclipse 的 plugins 目录中重启 eclipse, Tomcat 插件安装成功!当然安装成功并不代表能使用,这里还要配置 Tomcat, 才能正常使用 Tomcat 插件。
配置过程:
首先下载当前 Eclipse 能使用的 Tomcat 版本,下载地址:http://tomcat.apache.org/(我用的是apache-tomcat-7.0.32)。然后解压到指定的目录,然后配置:Eclipse - toolsbar -> Window -> Prefences -> Tomcat -> 指向刚才 Tomcat 解压的目录,到此配置完成,下面截个图:
使用 Tomcat 插件可以启动、关闭 Tomcat。
因为服务器端的Web应用程序用到了mysql数据库,所以我们还得要装mysql数据库,我用的
mysql数据库版本是mysql-5.5.20-win32.exe。windows下的安装也是一路next,
这里需要注意的是别忘了安装过程中设置的root密码。
准备环境都搭好了以后,现在我们将服务器端程序Androidpn,import到eclipse中
(在eclipse左边的工程界面区右键---->import---->General---->Existing Projects into Workspace
---->Browse---->找到Androidpn位置---->finish)。导入完成后需要修改工程中的jdbc.properties文件,
将其中的jdbcUsername和jdbcPassword两项改为你本机的mysql的用户名和密码。
根据jdbc.properties配置文件中
可得我们要用到一个androidpn数据库,而刚装好的mysql中并没有这个数据库,
所以我们需要在mysql数据库中用:create database androidpn;这条命令来建立androidpn数据库。
一切都完成后我们运行Androidpn程序(右击工程区的Androidpn---->Run as---->Run on Server)。
运行成功后我们在浏览器地址栏中输入:http://localhost:8080/index.do可以看到Androidpn服务器端所对应的4
个页面:
初始这里应该是空的,上面那条记录是我之前连得。
服务器端运行成功后,会在我们刚创建的androidpn数据库中创建两张表:
其中apn_user存储用户的信息,当我们要向指定用户发送消息时就可以从这张表中通过查找用户名,来向指定的用户发送消息。apn_notification是存储发送消息内容的一张表。
服务器端运行起来了我们在来看客户端程序androidpn-client。androidpn-client是一个android程序,只需要将这个android程序导入到eclipse中然后在模拟器中运行即可。这里需要注意的是我们需要修改androidpn-client工程中的res/raw/androidpn.properties文件中的xmppHost这一项:
如果是要在模拟器中运行就将xmppHost这项修改为10.0.2.2:xmppHost=10.0.2.2。如果是要在真机上运行就将此项改为androidpn服务器端主机的地址。
启动androidpn-client后(右击工程区的androidpn-client---->Run
as---->Android Application)模拟器的效果为:
现在就可以感受服务器端向android手机端推送消息了。
首先启动Androidpn服务器端,然后再启动客户端androidpn-client,这时在服务器端浏览器中的页面就会显示登录的客户端的信息:
到推送消息页面推送一条消息:
这时客户端模拟器接收到了消息,拉下上边栏即可看到:
我的任务是要用C语言在linux写一个服务器,然后就寻找解决方法。网上有前辈告诉我Webservise
这种技术可以实现我的需求,于是就开始学习Webservice技术。至于我对Webservice技术的学习放到下一篇再讲吧。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
androidpn 消息推送客户端+服务器端
AndroidPN实现了从服务器到android移动平台的文本消息推送。这里先简单说一下androidPN的安装过程。 下载androidpn-client-0.5.0.zip和androidpn-server-0.5.0-bin.zip 网址:...
androidpn 代码中实现了服务器重启后自动重连和离线消息推送和消息回执 android手机端的消息推送实现
androidpn-client-0.5.0和androidpn-server-0.5.0-bin
使用Apndroid Push Notification 实现android信息推送,AndroidPn项目是使用XMPP协议实现信息推送的一个开源项目。内涵服务端和客户端源码
androidpn-server-0.5.0-bin.zip、androidpn-client-0.5.0.zip、androidpn-demoapp-0.5.0.zip全给你们了,不用再去网站翻了
androidpn推送服务器端+手机端(版本3.0),androidpn开源框架集成的一个服务器端与手机端例子
androidpn 消息推送 服务器端源码 可以自己修改也可以直接启动运行 包含web的管理页面 最全面的android消息推送服务端程序
androidpn-client推送客户端
国外写的消息推送框架,测试可使用。具体配置步骤,请百度。
网上很多讲解androidpn推送的博客,也有很多源码,下载后导入有时也会有错误,此资源可以完美的运行,运行前你需要完成如下操作:1、启动Tomcat 2、下载androidpn 地址:http://sourceforge.net/projects/androidpn/...
androidpn为Android应用提供消息通知推送支持, 它本质上服务器端基于 Openfire,客户端基于 asmack,这二者都最 XMPP IM 开源实现里的二个基本组件,应该说 androidpn 只是把二者更多地结合起来用于做 Push的场景。...
androidpn消息推送 其中包含客户端 服务器端包含tomcat和jetty版本
Androidpn推送框架源码分析及配置方法,压缩包里面包括服务端和客户端代码,及说明文档
androidpn消息推送-tomcat版,最新修改,并且验证通过,写了一个专门的文档,公大家参考。
Android完美的消息推送技术Androidpn,安装后改ip地址即可.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
资源包包含以下内容: 1. androidpn-client:推送功能的...3. androidpn-server-0.5.0: 推送功能的服务器端,直接可运行使用(androidpn-server-0.5.0\bin\run.bat) 4. androidpn-server-src: 推送服务器端的源码包
本文介绍了一种基于XMPP 协议的AndroidPn 开源框架的实现模型,将其部署在MySQL 数据库和Tomcat 服务器下,实现并改进了实时推送消息、自定义消息结构和内容、推送服务开机启动、手机端服务唤醒、发送离线消息等实用...
关于服务器端向Android客户端的推送,主要有三种方式:轮询,应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,你必须自己实现与服务器之间的通信,例如消息排队等。而且你还要考虑轮询的频率,如果...