服务,处理程序,计时器,可运行 - 使用哪些以及如何使用?

时间:2011-02-05 21:03:45

标签: android

我正在尝试制作一款每15分钟与网络服务器联系一次的Android应用,以检索索姆的RSS。我知道如何检索RSS,但我的问题是如何让应用程序定期联系网络服务器。

我已经阅读过有关服务,处理程序,计时器和可运行程序但我不知道应该使用哪些,以及我应该如何使用它们。

提前致谢。

2 个答案:

答案 0 :(得分:0)

大多数需要独立于任何活动执行轮询操作的事情应该使用AlarmManager进行调度,使用您自己的IntentService来实现实际的轮询逻辑。如果您打算让设备从睡眠模式唤醒以完成工作,则需要_WAKEUP警报AlarmManagerWakefulIntentService

答案 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