cloudroam
2025-02-21 2167ea58d1c297b0536d5cab6517707f1892b95f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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()
        }
    }
}