Android开发中实现循环获取服务器数据时遇到的一些问题
本人在进行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处于关闭状态 会不会引起空指针的问题)