我将从不同来源获取新闻和天气数据。
要缓存我正在考虑存储json字符串,在SQLite中使用键值对以及从服务器获取第一个数据时的时间戳。
如果数据超过一个小时,则检查更新,否则使用现有数据加载到对象并显示。
这样可以吗?
我怎样才能每小时检查一次?一种方法是每次用户使用应用程序时进行检查,但有没有其他方法可以使用某种后台服务?
注意: 可能会问这个问题,但我搜索的一些问题并不是我想的。
答案 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);
}