Androidpn服务器搭建及集成进自己的用户表

背景:前两天需要APP推送功能,并且不能用云推送,如极光啊、百度云推等等等等。所以无奈之下,百度搜索确定方案,基于Apache的mina框架的开源项目Androidpn,决定采用到项目中。

一、首先需要下载例子看看效果,源码项目CSDN都有,分服务端程序和移动端程序。

1:服务器端,将项目导入到MyEclipse中,项目名称为Androidpn-tomcat,如下图:

导入成功后,需要修改1个地方:

1:jdbc.properties文件,修改为你测试的mysql中的数据库test,这个库中只有一张表apn_user,在服务第一次启动时会自动创建这张表。如下图:


好了,至此服务器端就可以启动了。

2:客户端 

将客户端程序导入到adt中,项目名称为android-client,如下图:


需要修改的地方:是res\raw\androidpn.properties文件,将 xmpphost修改为你的服务器IP,默认端口为5222,apikey和服务端resource文件夹下的config.properties里的apiKey对应。

3:运行

运行客户端后,会和服务器进行连接,你会看到用户表中插入了一条记录,如下图:



再通过localhost:8080查看控制台信息,会有4个tab页,通过最后一个tab可以发送测试消息到手机。到此为止,demo测试通过,现在要将推送服务集成到自己的项目中去,说的简单一点就是把测试用户表改为自己系统里对应的用户表。

先看一下效果:




发送推送消息测试:


在客户端看效果:



好了,现在说下需要修改服务器代码:

1:jsdb里改为自己的数据库连接

2:修改hibernate映射对象user,在org.androidpn.server.model包下,映射为你自己的user对象

3:修改web-info\page下的jsp,将其中的${user.username}等改为user.对应的字段

4:修改hibernate.cfg.xml文件,我用的是oracle数据库,所以要在里面加上两句

<property name="dialect">  
org.hibernate.dialect.OracleDialect  
</property>

5:我用的是myeclipse,有一个jsp标签版本问题,刷新后台控制台页面后会报错,删除lib下的jstl-1.1.2.jar就可以了

6:修改org.androidpn.server.dao.hibernate包下的UserDaoHibernate.java文件,修改 getUserByUsername方法,

将语句修改为你自己系统的。

修改完服务端后,修改客户端:

1:修改org.androidpn.client下的XmppManager.java文件,客户端会从sharedPrefs中获取用户名,这里修改为你自己的真是用户名和密码就可以了。

完成以上修改后,就可以初步实现推送集成啦。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值