Я использую ion , библиотеку для Android.Как показано в ion-kotlin , можно использовать метод с именем await()
, например, так:
fun getFiles(files: Array<String>) = async {
for (file in files) {
Ion.with(context)
.load(file)
.asString()
.await()
}
}
Я скопировал и вставил эту точную функцию в мой класс MainActivity
в качестве теста.,Тем не менее, я получил ошибку «неразрешенная ссылка: ожидание» в Android Studio.
Это сбивало с толку, потому что файл build.gradle
моего приложения имеет следующие две строки:
implementation 'com.koushikdutta.ion:ion:2.+'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.22.5'
Это подводит меня к моему первому вопросу, как я могу использовать метод .await()
вИонная библиотека?
Я подумал, что, возможно, мне пришлось вручную загрузить AsyncAwait.kt , который был единственным файлом в исходной папке ion-kotlin .
Итак, я скачал этот файл и поместил его в пакет моего проекта.Я изменил объявление пакета в верхней части загруженного файла с package com.koushikdutta.ion.kotlin
на package com.example.vroy1.recylerviewtest
.
Это, казалось, частично решило проблему, потому что у меня больше не было ошибки «неразрешенная ссылка: ожидание» в Android Studio.
Но файл AsyncAwait.kt отказывается компилироваться.Я получаю несколько ошибок.
Одна из ошибок происходит в операторе импорта в верхней части файла.Ошибка:

Это подводит меня ко второму вопросу.Если единственный способ использовать .await()
- это вручную загрузить AsyncAwait.kt, как я могу исправить эту ошибку, чтобы файл скомпилировался?