Android缓存数据和更新策略?

时间:2014-03-21 14:21:33

标签: android caching service background

我将从不同来源获取新闻和天气数据。

要缓存我正在考虑存储json字符串,在SQLite中使用键值对以及从服务器获取第一个数据时的时间戳。

如果数据超过一个小时,则检查更新,否则使用现有数据加载到对象并显示。

这样可以吗?

我怎样才能每小时检查一次?一种方法是每次用户使用应用程序时进行检查,但有没有其他方法可以使用某种后台服务?

注意: 可能会问这个问题,但我搜索的一些问题并不是我想的。

1 个答案:

答案 0 :(得分:1)

是的,您可以添加计划重复警报,请阅读以下链接:

http://developer.android.com/training/scheduling/alarms.html#set

示例代码:

private void scheduleService() {
    Intent intent = new Intent(this, YourClass.class);
    long ONE_HOUR_RETRY_TIME = System.currentTimeMillis() + 60*60*1000;

    PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);
    AlarmManager alarm = (AlarmManager) getSystemService(ALARM_SERVICE);

    alarm.set(AlarmManager.RTC_WAKEUP, ONE_HOUR_RETRY_TIME, pintent);
}