【问题标题】:How do i sync Android sqlite db with server using Workmanager?如何使用 Workmanager 将 Android sqlite db 与服务器同步?
【发布时间】:2018-09-07 16:47:24
【问题描述】:

我想在第一次运行应用程序时将服务器数据库内容下载到我的本地 SQLite 中的 android 应用程序。之后,我想定期(比如每天打开应用程序时)与服务器同步。正如开发人员文档所说,我可以使用新的 android jetpack API WorkManager 安排任何后台工作。如果有人以前这样做过,请说明如何?

【问题讨论】:

标签: android android-jetpack android-workmanager


【解决方案1】:

假设您要安排定期更新以在每天凌晨 2 点触发数据上传。您需要做的是,当应用程序第一次运行时,计算初始延迟(以毫秒为单位),即(initialDelay = 明天凌晨 2 点的时间戳 - currenttimestamp

现在安排一个带有初始延迟的 onTimeWorkRequest。因此,在凌晨 2 点,这项工作现在将在该工作计划内启动,这是一项定期工作,该工作将具有实际的上传逻辑请求,重复间隔为 24 小时。从那里开始,这个定期请求将在每天凌晨 2 点收到。对周期性请求使用“networkConnected”约束。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 2015-01-08
    相关资源
    最近更新 更多