Android开发中实现循环获取服务器数据时遇到的一些问题

tianyaxiaohe 2016-03-01 01:18:18
本人在进行android开发时需要实现一个功能:
后台不断获取远程服务器端的数据,如果该App是开启状态则将数据刷新到activity界面
如果该App并未开启 根据数据的内容选择是否向状态栏发出警告提示。

本人的思路:
1. 初步明确需要使用Service来实现功能(各位大牛是否还有更好的办法??)
--------------------------------------------------------------下面的思路就开始携带问题了
2. 如果使用Service,那么Service需要执行循环Http访问(可使用Handler 或者alarmmanager实现)
a.此处要求,App的MainActivity可以直接或者间接的获取到Service中Http访问接受到的数据用以刷新UI显示(该如何实现);

b.如果使用 AlarmManager则需要在添加一个Intent作为operation用来执行http访问,依然存在a中的问题,且比handler繁琐;


请问各位有没有更好的思路来实现该功能?
------------------------------------------------------------------------------
今天从网上查了一下 有人说用自定义Application类来定义全局变量,这样就是实现了Service与Activity之间数据的直接传递,请问是否可行。(在Service中handler循环获取Http数据赋值给Application的全局变量,Activity也从中取出并刷新UI)
而且就算上面可行的话,其实现方法需要Service和Activity中都要有循环,如何控制两个循环的节奏 又是新的问题。
但是我思考了一个新的办法 是不是可以通过回调函数来实现,当Service中Handler执行一次后直接调用Activity中的UI更新方法。(如果App处于关闭状态 会不会引起空指针的问题)
...全文
260 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
-天宇 2016-03-17
  • 打赏
  • 举报
回复
像这种情况google怎么会考虑不到呢,Service和Activity可以直接通信的,用bindService方法来实现,具体教程网上一大堆
滑蛋牛肉饭 2016-03-17
  • 打赏
  • 举报
回复
你好,请问有好的解决方案了吗

80,360

社区成员

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

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