【Android】基于XMAPP协议实现Android推送服务(亲测可用)

标签: android xmapp 协议 | 发表时间:2014-12-01 08:05 | 作者:u011471135
出处:http://blog.csdn.net

一、PC端直接运行服务器


1. 进入目录androidpn-server-0.5.0\bin,双击run.bat


2. 浏览器输入网址: http://127.0.0.1:7070/index.do


3. 将androidpn-client导入到Eclipse


4. 配置好目标平台,打开androidpn-client/res/raw/androidpn.properties文件,进行如下修改

apiKey=1234567890
xmppHost=10.0.2.2(模拟器使用该地址,真机模拟的话,则写入你PC机的IP地址)
xmppPort=5222

5. 在浏览器中输入推送的消息,客户端的通知栏即可收到


6. 补充说明, 服务器端的配置属性:androidpn-server-0.5.0\conf\config.properties

apiKey=1234567890
admin.console.host=127.0.0.1
admin.console.port=7070
xmpp.ssl.storeType=JKS
xmpp.ssl.keystore=conf/security/keystore
xmpp.ssl.keypass=changeit
xmpp.ssl.truststore=conf/security/truststore
xmpp.ssl.trustpass=changeit

7. 下面演示运行效果


服务器端,输入推送的消息,点击提交按钮


客户端通知栏接收到消息


点击之后的效果图


二、源代码搭建服务器


1. 将文件夹Androidpn整个拷贝到目录D:\Program Files\Apache Software Foundation\myProject\下


2. 修改文件D:\Program Files\Apache Software Foundation\Tomcat 8.0\conf\server.xml,

在<Host></Host>之间添加如下语句

<Context path="/androidpushServer" docBase="D:\Program Files\Apache Software Foundation\myProject\Androidpn\WebRoot"/>

3. 打开mysql的客户端,使用命令在客户端中,创建数据库androidpn

create database androidpn;

4. 修改文件D:\Program Files\Apache Software Foundation\myProject\Androidpn\resources\jdbc.properties如下所示

# JDBC Configuration
jdbcDriverClassName=com.mysql.jdbc.Driver
#jdbcUrl=jdbc:mysql://localhost:3306/android?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
jdbcUrl=jdbc:mysql://localhost:3306/androidpn?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
jdbcUsername=root			//数据库用户名
jdbcPassword=                           //这里要填写数据库密码
# DBCP Pool settings
jdbcInitialSize=5
jdbcMaxActive=10
jdbcMaxIdle=5
jdbcMaxWait=30000
jdbcValidationQuery=select 1
注意:如果不行,也同步修改D:\Program Files\Apache Software Foundation\myProject\Androidpn\WebRoot\WEB-INF\classes\jdbc.properties


5. 由于运行的工程不在Tomcat 8.0的根目录下,因此,还需要修改以下几个文件

1》D:\Program Files\Apache Software Foundation\myProject\Androidpn\WebRoot\decorators\default.jsp, 
将前面的斜杠都去掉,如"/index.do",修改为"index.do"	
2》D:\Program Files\Apache Software Foundation\myProject\Androidpn\WebRoot\index.jsp中,
将"/images/androidpn.png"修改为"images/androidpn.png"
3》D:\Program Files\Apache Software Foundation\myProject\Androidpn\WebRoot\WEB-INF\pages\index.jsp中,
将"/images/androidpn.png"修改为"images/androidpn.png"



6. 启动Tomcat 8.0


7. 浏览器中输入: http://localhost:8010/androidpushServer/,成功运行(注意:8010为我自己Tomcat服务器的端口号)


三、客户端和服务器端打包下载

android推送客户端和服务器端代码


作者:u011471135 发表于2014-12-1 0:05:33 原文链接
阅读:19 评论:0 查看评论

相关 [android xmapp 协议] 推荐:

【Android】基于XMAPP协议实现Android推送服务(亲测可用)

- - CSDN博客移动开发推荐文章
一、PC端直接运行服务器. 进入目录androidpn-server-0.5.0\bin,双击run.bat. 浏览器输入网址: http://127.0.0.1:7070/index.do. 将androidpn-client导入到Eclipse. 配置好目标平台,打开androidpn-client/res/raw/androidpn.properties文件,进行如下修改.

Android播放HLS协议的流媒体

- - CSDN博客推荐文章
最近需要测试Android是否支持HLS协议的流媒体播放,在网上找了些例子都是播放本地文件的,还有一些播放网络文件的却不是HLS协议的流媒体. 据Android3.0的更新说明介绍,Android3.0已经开始支持大部分的HLS流媒体类型,于是就做了一下测试. mvdView.setVideoURI(uri); // mvdView是一个videoView控件.

三星和微软达成Android专利协议

- lin - Solidot
《华尔街日报》报导,微软和三星达成一项Android专利共享协议,这对谷歌提供免费移动操作系统的努力是一大打击. 根据这项协议,三星在生产基于Android操作系统的智能手机和平板电脑时将向微软支付专利费(根据微软和HTC达成的协议是每台五美元). 三星还将与微软合作开发基于微软Windows软件的智能手机和平板电脑.

Android通过HTTP协议实现多线程下载

- - 移动开发 - ITeye博客
     * 从路径中获取文件名称 .      * @param path 下载路径 .      * 下载文件 .      * @param path 下载路径 .      * @param threadsize 线程数 .         int filelength = conn.getContentLength();//获取要下载的文件的长度  .

微软再下一城:与LG签署Android专利授权协议

- - ITeye资讯频道
据国外媒体报道,LG电子已经与微软签定了Android专利授权协议,以防止遭到微软的法律诉讼. 微软周四宣布与LG电子达成专利授权协议,覆盖LG旗下的平板电脑、手机及其它运行Android或Chrome OS的设备. 微软知识产权部门企业副总裁、副法务总长霍拉西奥•古铁雷兹(Horacio Gutierrez)通过Twitter再次重申,与微软签署专利授权协议是避免知识产权冲突的唯一途径.

基于XMPP协议的Android即时通信系统原理分析

- - CSDN博客Web前端推荐文章
设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务器作为即时通讯平台.          系统主要由以下部分组成:一是服务器,负责管理发出的连接或者与其他实体的会话,接收或转发XML(ExtensibleMarkup Language)流元素给授权的客户端、服务器等;二是客户终端.

微软和三星达成巨额专利协议:三星每卖出一部Android设备都要向微软缴纳版税

- lili - 36氪
Android不愧是微软的赚钱机器. 微软刚刚宣布了迄今为止最大的一笔和Android相关的专利交易:和三星达成了广泛的专利交叉许可(cross-licensing)协议. 根据协议,三星每卖出一部Android手机或平板,都需要向微软缴纳版权税. 此前,微软和HTC已达成一份知识产权协议,HTC每销售一部Android手机,则必须向微软支付5美元的专利费.

memcached协议

- - 开源软件 - ITeye博客
旧版: http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt. 新版: https://github.com/memcached/memcached/blob/master/doc/protocol.txt.

https协议

- - 互联网 - ITeye博客
SSL 协议的握手过程   .       为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议. SSL 协议既用到了公钥加密技术(非对称加密)又用到了对称加密技术,SSL对传输内容的加密是采用的对称加密,然后对对称加密的密钥使用公钥进行非对称加密. 这样做的好处是,对称加密技术比公钥加密技术的速度快,可用来加密较大的传输内容,公钥加密技术相对较慢,提供了更好的身份认证技术,可用来加密对称加密过程使用的密钥.

http2协议

- - 企业架构 - ITeye博客
http2协议的草案已经出来了,阅读了一下网上的中文版,http2尽可能的兼容http1.1. 改进了http1.1协议的不足. http1.0和http1.1的缺点:. 1.http1.0只允许在一个连接上建立当前未完成的请求. 2.http1.1管道只部分处理了请求并发和包头堵塞问题,客户端多建立TCP连接,减少延迟.