package com.example.firstapp.workers
|
|
import android.content.Context
|
import androidx.work.CoroutineWorker
|
import androidx.work.WorkerParameters
|
import com.example.firstapp.database.dao.KeywordDao
|
import com.example.firstapp.database.repository.KeywordRepository
|
import com.example.firstapp.database.service.RetrofitClient
|
|
class KeywordUpdateWorker(
|
context: Context,
|
params: WorkerParameters,
|
private val keywordDao: KeywordDao // 注入 KeywordDao
|
) : CoroutineWorker(context, params) {
|
|
override suspend fun doWork(): Result {
|
// 另外一种实例化的方式
|
// val database = AppDatabase.getInstance(applicationContext) // 获取数据库实例
|
// val keywordDao = database.keywordDao() // 获取 KeywordDao 实例
|
// val repository = KeywordRepository(RetrofitClient.apiService, keywordDao) // 传递 keywordDao
|
|
val repository = KeywordRepository(RetrofitClient.apiService,keywordDao)
|
return try {
|
// 更新配置
|
repository.getKeywords()
|
Result.success()
|
} catch (e: Exception) {
|
Result.retry()
|
}
|
}
|
}
|