怎么实现服务器给android客户端主动推送消息?

Yao_Harold 2014-05-26 09:32:30
各位前辈,
小弟在学校自学android,现在打算做一个小产品,其中要用到:

当服务器数据有更新的时候,需要向相应的用户主动推送消息。

关于服务器的内容我买的书上没有提到,自己自学的是简单的servletHttp的内容,也没去用SSH的结构,希望各位指点,有什么相对简单的办法实现这个功能,服务器端和android客户端各需要用到什么技术, 小弟先行拜谢~
...全文
36347 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
leeyw1172237384 2016-03-18
  • 打赏
  • 举报
回复
goolong6 2015-11-19
  • 打赏
  • 举报
回复
推送的原理是什么 你把程序关闭之后 推送还会继续的啊
清澈@Cherry 2015-10-20
  • 打赏
  • 举报
回复
qq_30494141 2015-08-25
  • 打赏
  • 举报
回复
引用 6 楼 a85454597 的回复:
推送 都有一个服务器代理 你把消息给他 他帮你把消息发给连接到他的并且订阅过你这个主题的客户端 我最近用MQTT做的 服务代理用mosquitto
请问用mosquitto,是直接将其部署到服务器上面,还是调用它的api
ydm305365 2014-12-24
  • 打赏
  • 举报
回复
引用 8 楼 Yao_Harold 的回复:
[quote=引用 1 楼 yanlin0813 的回复:] 1、打开应用时向服务器发申请 2、如果应用一直打开,或者有后台服务,可以定时向服务器发申请
这个是最简单的方法?就是每隔一段时间客户端主动向服务器端读取数据?[/quote] 这是最低效的做法,难道不知道服务端主动推消息给客户端吗?
atlasGS 2014-05-30
  • 打赏
  • 举报
回复
请求服务器定时推送有些不靠谱,并不是每个用户都打开你的app了 要么你就要常驻内存这样用户不满意啊 只能是在客户打开app后和服务器对数据如果有更新就下载。
yejsj 2014-05-30
  • 打赏
  • 举报
回复
服务器推数据,只是用户的一个感觉 你可以让客户端主动地去服务器上更新数据,实际上是客户端拉
零时lee 2014-05-29
  • 打赏
  • 举报
回复
你可以打开程序的时候去访问数据库 请求跟新
网络咖啡 2014-05-29
  • 打赏
  • 举报
回复
使用第三方的推送,例如百度云推送
xiaopan 2014-05-29
  • 打赏
  • 举报
回复
有数据更新,发送socket广播,手机收到就去服务器取数据,是最好的方式
517967268 2014-05-28
  • 打赏
  • 举报
回复
极光也挺简单的啊
缥缈寒 2014-05-28
  • 打赏
  • 举报
回复
百度云推送!
呼啸 2014-05-28
  • 打赏
  • 举报
回复
试试腾讯的信鸽推送,免费的。
Yao_Harold 2014-05-28
  • 打赏
  • 举报
回复
引用 13 楼 s478853630 的回复:
1楼所说” 定时给服务器发请求 “的方式是不可取的 这样既费流量又费电,一旦被用户发现,你的app也就寿终正寝了 [quote=引用 5 楼 Yao_Harold 的回复:] 你好,另外请问如果用百度云的话是不是要在百度云上部署云主机和云存储?
不需要的,只要注册百度账号,在百度登记你的项目资料, 让后你下载百度的demo,把百度的部分代码copy到你的项目中,把认证的密钥配置好就大功告成了, 但是推送这个功能和服务器是密切相关的,如果你对服务器不是很了解,那我就无力了[/quote] 谢谢,我对服务器大概就是了解基础,用java写过一些基础的服务器端的代码,但是比如说设计到SSH的内容,我就比较吃力了,所以想问问百度那个有设计到SSH之类吗
睡觉谁叫~~~ 2014-05-28
  • 打赏
  • 举报
回复
引用 10 楼 yanlin0813 的回复:
[quote=引用 8 楼 Yao_Harold 的回复:] [quote=引用 1 楼 yanlin0813 的回复:] 1、打开应用时向服务器发申请 2、如果应用一直打开,或者有后台服务,可以定时向服务器发申请
这个是最简单的方法?就是每隔一段时间客户端主动向服务器端读取数据?[/quote] 是的~ 简单实用。[/quote]就这个吧,其他的别想了
s478853630 2014-05-28
  • 打赏
  • 举报
回复
1楼所说” 定时给服务器发请求 “的方式是不可取的 这样既费流量又费电,一旦被用户发现,你的app也就寿终正寝了
引用 5 楼 Yao_Harold 的回复:
你好,另外请问如果用百度云的话是不是要在百度云上部署云主机和云存储?
不需要的,只要注册百度账号,在百度登记你的项目资料, 让后你下载百度的demo,把百度的部分代码copy到你的项目中,把认证的密钥配置好就大功告成了, 但是推送这个功能和服务器是密切相关的,如果你对服务器不是很了解,那我就无力了
Clare_0_0 2014-05-27
  • 打赏
  • 举报
回复
Google本身就有一个推送demo可以用,Google Cloud Message,你可以参考一下,不过国内用Google推送不太稳定,但是我测试的时候基本上都能推送成功。详细的搭建你可以参考我的微博,有什么问题你再问吧
Yao_Harold 2014-05-27
  • 打赏
  • 举报
回复
引用 1 楼 yanlin0813 的回复:
1、打开应用时向服务器发申请 2、如果应用一直打开,或者有后台服务,可以定时向服务器发申请
这个是最简单的方法?就是每隔一段时间客户端主动向服务器端读取数据?
  • 打赏
  • 举报
回复
做心跳每隔一段时间去服务器取数据
箍心而行 2014-05-27
  • 打赏
  • 举报
回复
推送 都有一个服务器代理 你把消息给他 他帮你把消息发给连接到他的并且订阅过你这个主题的客户端 我最近用MQTT做的 服务代理用mosquitto
加载更多回复(6)

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧