Внедрение рабочих зависимостей Android KotlinAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Внедрение рабочих зависимостей Android Kotlin

Сообщение Anonymous »

Когда вы внедряете зависимости в Android Worker и выполняете Worker Request, возникает исключение java.lang.NoSuchMethodException: newjeans.bunnies.main.worker.AwsS3FileUploadWorker. Возникает ошибка [class android.content.Context, class androidx.work.WorkerParameters].
fun awsS3FileUploadWorker(
uri: List
) {

// Constraints.Builder()를 통해 실행 제약을 설정할 수 있음
val constraints = Constraints.Builder()
// 네트워크가 연결되어있는 상태일 때
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()

val data = Data.Builder()
.putStringArray(Constant.KEY_IMAGE_URI, uri.map { it.imageUri.toString() }.toTypedArray())
.putString(Constant.KEY_POST_ID, UUID.randomUUID().toString())
.build()

val awsS3FileUploadWorkRequest = OneTimeWorkRequest.Builder(AwsS3FileUploadWorker::class.java)
.setConstraints(constraints)
.setInputData(data)
.build()

workManager.enqueue(awsS3FileUploadWorkRequest)
}

@HiltWorker
class AwsS3FileUploadWorker @AssistedInject constructor(
@Assisted context: Context,
@Assisted params: WorkerParameters,
private val imageRepository: ImageRepository,
) : CoroutineWorker(context, params) {
override suspend fun doWork(): Result = coroutineScope {
return@coroutineScope Result.success()
}
}

@Module
@InstallIn(SingletonComponent::class)
class RepositoryModule {
@Provides
@Singleton
fun provideImageRepository(imageRepositoryImpl: ImageApiRepositoryImpl): ImageRepository =
imageRepositoryImpl

}


Подробнее здесь: https://stackoverflow.com/questions/783 ... -injection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»