【发布时间】:2020-02-11 07:57:54
【问题描述】:
我正在开发新闻阅读器应用程序,现在我想实现这一目标: 每天有一次互联网连接或特定时间(例如 23.00)我的应用程序将获取所有新新闻,然后将其存储在数据库中。在应用程序内部,我正在使用改造来使用 mvvm 模式获取和存储空间。我怎样才能做到这一点?任何建议表示赞赏。
【问题讨论】:
标签: android
我正在开发新闻阅读器应用程序,现在我想实现这一目标: 每天有一次互联网连接或特定时间(例如 23.00)我的应用程序将获取所有新新闻,然后将其存储在数据库中。在应用程序内部,我正在使用改造来使用 mvvm 模式获取和存储空间。我怎样才能做到这一点?任何建议表示赞赏。
【问题讨论】:
标签: android
您可以通过在PeriodicWorkRequest.Builder 中使用弹性周期来实现此目的。 例如,如果您想在重复间隔结束时(比如 8 小时)在 15 分钟内运行您的 Worker,代码将如下所示:
val periodicRefreshRequest = PeriodicWorkRequest.Builder(
RefreshWorker::class.java, // Your worker class
8, // repeating interval
TimeUnit.HOURS,
15, // flex interval - worker will run somewhen within this period of time, but at the end of repeating interval
TimeUnit.MINUTES
)
【讨论】:
您可以通过 Android 中的 Service 来执行此操作,它具有以下功能 -
前景
前台服务执行一些用户可以注意到的操作。例如,音频应用程序将使用前台服务来播放音轨。前台服务必须显示通知。即使用户没有与应用交互,前台服务也会继续运行。
背景
后台服务执行用户不直接注意到的操作。例如,如果应用使用服务来压缩其存储空间,那通常是后台服务。
您可以在下面的链接中阅读更多相关信息 -
【讨论】: