【问题标题】:How can I download files in specific days? [ Kotlin Android Development ]如何在特定日期下载文件? [ Kotlin 安卓开发 ]
【发布时间】:2021-02-22 20:48:14
【问题描述】:

什么是在特定时间(在我的情况下是每两天)执行任务(在我的情况下调用一个函数)的安全和更好的方法?

该函数从 Web 检索数据。我的目标是在网络服务器上发生变化时更新应用中的数据。

谢谢,干得好!

【问题讨论】:

标签: android kotlin scheduled-tasks schedule


【解决方案1】:

1-如果你不需要精确的时间,你需要使用WorkManager并设置周期性工作请求

https://developer.android.com/topic/libraries/architecture/workmanager

fun CreateWorkRequest()
{
  val workManager = WorkManager.getInstance(context)

val duration = 2*24*60*60*1000L //2 days in mili second

        val workRequest = PeriodicWorkRequestBuilder<AutoBackUpWorker>(duration, TimeUnit.MILLISECONDS)
            .setInitialDelay(duration/2, TimeUnit.MILLISECONDS)
                .addTag("diaryBackUpWork")
                .build()

        workManager.enqueueUniquePeriodicWork("backupwork", ExistingPeriodicWorkPolicy.REPLACE, autoBackUpRequest)
}

工人阶级:

    class RequestedWorker(val appContext: Context, workerParams: WorkerParameters) : Worker(appContext, workerParams)
    
{
    override fun doWork()
    {
    
    }
}

2- 如果您需要准确的时间(例如每天晚上 8 点),您需要使用警报管理器

3- 在您的情况下,最好的选择是在 doWork() 方法中为下载请求实现 DownloadManager

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多