如何每 24 小时更新 Android SQLite 数据库?

How to Update Android SQLite Database Every 24 Hours?

我正在创建一个过期跟踪应用程序。在那里,我存储了一个项目的剩余天数以使其过期。所以每天我都想将到期日期与当前日期进行比较并获得它们之间的差异。我想用我们发现的差异更新数据库中的 expirydaysleft 列。

帮我解决这个问题 想每24小时自动更新一次数据库,以便到期时剩余的到期天数可以自动归零

您可以创建 class

    class UpdateDatabaseWorker(context: Context, workerParams: WorkerParameters) : Worker(context, workerParams) {
        override fun doWork(): Result {
            updateDatabase()
            return Result.success()
        }
    
        private fun updateDatabase() {
            // do the necessary updates here - all the logic needed
        }
    }

然后您可以调用 PeriodicWorkRequest,例如:每 24 小时。

    val periodicWorkRequest = PeriodicWorkRequestBuilder<UpdateDatabaseWorker>(24, TimeUnit.HOURS).build()
    
    WorkManager.getInstance().enqueue(periodicWorkRequest)

为了停止周期性工作的执行,需要明确取消:

    WorkManager.getInstance().cancelWorkById(periodicWorkRequest.id)