在我的应用程序中,我需要使用来自服务器的一些数据来更新数据库。数据不需要立即显示给用户。如果新数据在用户下次使用应用程序时显示给用户也很好。由于此操作,现在没有需要更新的 UI 组件。所以,当应用程序运行时,我只需要在后台从服务器获取一些数据。
目前我在活动中使用 Asynctask。但它不能很好地处理配置更改。所以,我读了一点,遇到了一些选择:
- 使用加载器
- 使用片段
- 在片段中使用 Asynctask
- 使用静态异步任务
我对此有点陌生,并且很困惑什么是满足我要求的最佳实施方法。请建议
在我的应用程序中,我需要使用来自服务器的一些数据来更新数据库。数据不需要立即显示给用户。如果新数据在用户下次使用应用程序时显示给用户也很好。由于此操作,现在没有需要更新的 UI 组件。所以,当应用程序运行时,我只需要在后台从服务器获取一些数据。
目前我在活动中使用 Asynctask。但它不能很好地处理配置更改。所以,我读了一点,遇到了一些选择:
我对此有点陌生,并且很困惑什么是满足我要求的最佳实施方法。请建议
以防万一它可能对某人有所帮助。我为解决这个问题所做的是:
使用警报管理器设置重复警报,该警报将在特定时间间隔调用服务以获取数据。应用程序第一次运行时会调用类似下面的代码。
Intent i = new Intent(WordListActivity.this, NewData.class);
PendingIntent pint = PendingIntent.getService(
WordListActivity.this, 0, i, 0);
alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC, cal.getTimeInMillis() + 10000,
gap, pint);