移动环境下push 技术开发__初级篇

标签: 移动 环境 push | 发表时间:2012-04-28 19:34 | 作者:
出处:http://www.iteye.com
一、缘由

其实说白了就是研究androidpn这个开源项目,只因我的本科毕业设计的题目就是“移动环境下push技术开发”,所以起这个作为本篇博文的题目。既然是初级篇,那当然后面还有进阶篇以及高级篇了,后面等我有时间再写吧。其实我本来是想等我的毕业设计答辩结束后,再总结,再分享的,可是最近群里很多人整个环境都不会配,所以我就先来个初级篇吧。

当然我起初也是在各位前辈的基础上学习的,关于androidpn网上的资料还是很多的,大家自己看。这里只贴出两个我认为比较好的链接:
Android推送通知指南: http://blog.csdn.net/joshua_yu/article/details/6563587
用androidpn来实现推送(Jclick): http://www.iteye.com/topic/1117043?page=13

刚开始的时候,我就是用的Jclick修改后的tomcat版本,在这个基础上一点一点的修改的,我的更新日志 http://cdztop.iteye.com/blog/1441289,后来交流的人多了,我就建了一个群(210555217),群共享里面有各种版本(有用JSON的、有用SSH的、以及增加离线消息和回执功能的等等)。我今天就拿小强共享的版本来说明。可以在群共享下载,也可以在本文后面的链接下载。


二、Windows下开发环境的配置

在配置之前,请关闭或者删除你工作空间里面跟androidpn相关的其他工程。严格按照我的下面步骤来搞,否则你出现问题,我也不知道怎么处理的。

2.1客户端配置

把解压后的的“androidpn-client”导入Eclipse,导入后整个工程的目录如下,然后打开“androidpn.properties”,修改“xmppHost”,如果你是用模拟器测试的话,改成“10.0.2.2”,如果是真机测试的话改成你的电脑的IP。



2.2服务器端的配置

首先在MyEclispe里面配置Tomcat,到apache官网下个纯的tomcat,不要是什么和apache整合的,就单单是tomcat。然后在本地磁盘解压。把tomcat集成到MyEclipse。按照下图操作。



然后在Server视图里面启动Tomcat。



看启动日志。



启动成功后,打来浏览器,输入:http://localhost:8080/, 如果出现Tomcat的主页,就说明的tomcat配置成功了。然后关闭Tomcat。

把解压后的服务器端代码(Androidpn)导入MyEclipse。导入后的项目结构如下图所示。再修改jdbc.properties这个文件,关键是红框标记的几处,改成你的MySql对应的值。如果你不是用的MySql,就用相应的数据库jar包替换mysql的jar包,然后再修改jdbc.properties。其他数据库对应的写法如下。



------SQL Server 2005------
# JDBC Configuration
jdbcDriverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbcUrl=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=android
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
jdbcUsername=sa
jdbcPassword=sql

------SQL Server 2008------
jdbcDriverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbcUrl=jdbc:sqlserver://localhost:1433;DatabaseName=android;integratedSecurity=false
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
jdbcUsername=sa
jdbcPassword=sql

修改好了之后,部署到Tomcat上,部署的过程中注意下图的选择。之后启动Tomcat,然后在浏览器里面输入:http://localhost:8080/Androidpn,正常情况下是可以出现首页的。




三、测试

安装客户端程序到模拟器或真机,然后启动程序,会出现下图的界面,同时MyEclipse的控制台会打印很多log。





过一会服务器的Web页面的Users列表和Sessions列表里面都会出现你。然后你就可以推送了。










四、Linux下开发环境的配置

其实和上述的步骤一样,只是你把上述的Tomcat根目录下的webapps目录下的“Androidpn.war”拷贝到Linux下面的Tomcat的对应目录即可,至于Linux下怎么配置java以及tomcat的环境,请自己网上搜索。

项目放好之后,到tomcat的bin目录下,运行:./startup.sh 来启动tomcat,
启动之后,运行:netstat -antupl看下图的端口是否处于监听状态。



如果是的话,现在你就可以启动客户端了。

要看tomcat的log的话,进入tomcat的logs目录运行:tail -f ./catalina.out

好了,如果你按照上述的步骤还是不行的话,加入群提问,或者在 http://phonepush.sinaapp.com/这个论坛提问。

本想把工程上传的,但是附件有限制,文件大小不能超过10MB,因此大家只能到群共享下载了。

因为没有在iteye发过什么文章,这篇文章搞的我很辛苦。


(完)

陈小道 写于2012年4月28日 19:38:14


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [移动 环境 push] 推荐:

移动环境下push 技术开发__初级篇

- - ITeye博客
其实说白了就是研究androidpn这个开源项目,只因我的本科毕业设计的题目就是“移动环境下push技术开发”,所以起这个作为本篇博文的题目. 既然是初级篇,那当然后面还有进阶篇以及高级篇了,后面等我有时间再写吧. 其实我本来是想等我的毕业设计答辩结束后,再总结,再分享的,可是最近群里很多人整个环境都不会配,所以我就先来个初级篇吧.

微信公众平台:移动推送(Push)平台

- - 天涯海阁|Web2.0Share
之前曾经写过一个文章《 移动互联网的未来:基于情境/兴趣的推送》,至今我也觉得这个在未来会是有着巨大想想空间的移动生活方式. 之前其实也有不少初创企业在Push这个领域努力,不过效果却都不好,所以其实本质而言,要构建Push这样的平台,需要吸引大量的内容、媒体、品牌来提供Push内容,而对于内容、媒体、品牌而言,最在意的是这个平台有没有用户,而微信可能已经到了可以去构建这样一个信息推送平台的阶段.

AWS延伸到移动开发环节,Amazon推出移动设备消息推送服务(Amazon SNS Mobile Push)

- - 36氪
Amazon今天 宣布推出移动设备消息推送服务 Amazon SNS Mobile Push. Amazon Simple Notification Service(SNS)是2010年 推出的消息发送服务,之前开发者"可用 SNS 通过 SMS 文本消息或电子邮件来通知收件人",现在这项服务开始支持iOS,Android和Kindle Fire等移动设备的消息推送了.

Facebook 美学转变:从收购Push Pop Press开始

- Brant - 爱范儿 · Beats of Bits
一直以来,Facebook 都遵循着实用美学至上的设计原则,讲究在最简洁的设计中纳入所有必需的功能. 而之所以拥有如此的设计文化,和 Facebook 在初期以 CEO Mark Zuckerberg 为技术主导的团队不无关系. 简洁的蓝白配色在出现伊始的确让人眼前一亮,清新的学院风加上冷酷的极客气息让 Facebook 在短时间内聚拢了极高的人气.

苹果信息推送服务(Apple Push Notification Service)使用总结

- - IT技术博客大学习
标签:   Push   信息推送. 苹果信息推送服务(Apple Push Notification Service),是由苹果官方提供的消息推送服务. 推送形式包括顶部消息条、声音以及badge number()有了APNS,应用程序可在任意状态接收到与程序有关的消息(包括运行状态not running,foreground以及background),由于在大多数情况下,iOS中最多只有一个应用能处于active状态,所以,APNS为应用的交互提供了极大的便利.

为什么iComet比nginx-push-stream-module更好?

- - idea's blog
有些项目需要使用”Web服务器推(comet)技术时, 便因为 Web Server 用的是 Nginx 便选择了 nginx-push-stream-module, 但是根据我们的使用经验, nginx-push-stream-module 非常坑, 只适合同时在线几千人的小网站使用. 下面对比 iComet 服务器和 nginx-push-stream-module:.

HTML5移动应用开发的生态环境简介

- - 外刊IT评论
我本人是HTML5的大粉丝,因为它可以给我带来满足我创造力的开发速度. 但自从移动平台崛起以来,这项技术所涉及的开发就开始变得复杂起来. 在桌面平台看来,一切都非常清楚. 网站开发就是一场不断持续的进化,即便如此还是有人对其了如指掌. 开发者们被各种开发HTML5移动应用的方法搞得晕头转向,所以我希望这个指南可以帮助他们.

基于dwr2.0的Push推送技术详细解析以及实例

- - CSDN博客Web前端推荐文章
DWR从2.0开始增加了push功能,也就是在异步传输的情况下可以从Web-Server端发送数据到. 我们知道,Web的访问机制天生是设计用来pull数据的,也就是只允许Browser端主动发起请求,server. 是被动的响应.不允许Server向Browser发出一个connection请求,也就是说没有为server向Browser.

Flutter 2 来了:专为 Web、移动与台式机环境构建

- - InfoQ推荐
下一代 Flutter 专为 Web、移动与台式机环境构建而成. 今天,我们宣布 Flutter 2 正式亮相. 作为 Flutter 的一次重大版本升级,Flutter 2 将帮助开发人员立足任意平台创建起美观、快速且能够轻松移植的应用程序. 在 Flutter2 的支持下,您可以使用相同的代码库将原生应用程序发布至 iOS、Android、Windows、macOS 以及 Linux 五大系统阵营之上.

微博feed系统的推(push)模式和拉(pull)模式和时间分区拉模式架构探讨

- 荷泽 - 博客园-草屋主人的blog
微博feed系统的推(push)模式和拉(pull)模式和时间分区拉模式架构探讨.      [文章作者:孙立 链接:http://www.cnblogs.com/sunli/ 更新时间:2010-08-24].      sns系统,微博系统都应用到了feed(每条微博或者sns里的新鲜事等我们称作feed)系统,不管是twitter.com或者国内的新浪微博,人人网等,在各种技术社区,技术大会上都在分享自己的feed架构,也就是推拉模式(timyang上次也分享了新浪微薄的模式).