我正在尝试制作一款每15分钟与网络服务器联系一次的Android应用,以检索索姆的RSS。我知道如何检索RSS,但我的问题是如何让应用程序定期联系网络服务器。
我已经阅读过有关服务,处理程序,计时器和可运行程序但我不知道应该使用哪些,以及我应该如何使用它们。
提前致谢。
答案 0 :(得分:0)
大多数需要独立于任何活动执行轮询操作的事情应该使用AlarmManager
进行调度,使用您自己的IntentService
来实现实际的轮询逻辑。如果您打算让设备从睡眠模式唤醒以完成工作,则需要_WAKEUP
警报AlarmManager
和WakefulIntentService
。
答案 1 :(得分:0)
考虑使用BuzzBox SDK:它非常适合您的使用案例。库中还包含一个RSS解析器。
http://hub.buzzbox.com/android-sdk/
您可以将任务设置为每15分钟运行一次:
SchedulerManager.getInstance()
.saveTask(this, "*/15 8-19 * * 1,2,3,4,5", YourTask.class);
SchedulerManager.getInstance()
.restart(this, YourTask.class);
注意cron字符串:“* / 15 8-19 * * 1,2,3,4,5” - 你的任务将每15分钟运行一次,从早上8点到晚上7点,星期一到星期五。
该库负责其余的工作(重启后重新安排,时钟更改,错误处理和重试......)并具有一些不错的功能:了解更多:http://hub.buzzbox.com/android-sdk/scheduler