Описание тега kotlin-coroutines
Языковая функция и библиотека, представленные в Kotlin 1.3, которые используются для реализации модели "зеленых потоков". Это позволяет писать неблокирующий код ввода-вывода естественным образом, не прибегая к фьючерсам или обратным вызовам.
1
ответ
Как вернуть список из базы данных Firestore в результате функции в Kotlin?
Я создаю приложение для друга и использую Firestore. Я хочу отобразить список избранных мест, но по какой-то причине этот список всегда пуст. Я не могу получить данные из Firestore. Это мой код: fun getListOfPlaces() : List<String> { val place…
30 июл '18 в 13:11
1
ответ
@ Вокруг аспекта и функция приостановки Kotlin
Я пытаюсь понять, как создать аспект @Around для приостановленной функции Kotlin (например, для измерения времени, потраченного на эту функцию, или для пользовательского аспекта @Transactional): @Timed("my-timer") suspend fun test() { println("befor…
03 янв '19 в 02:57
9
ответов
MutableLiveData: невозможно вызвать setValue в фоновом потоке из Coroutine
Я пытаюсь вызвать обновление LiveData из сопрограммы: object AddressList: MutableLiveData<List<Address>>() fun getAddressesLiveData(): LiveData<List<Address>> { AddressList.value = listOf() GlobalScope.launch { AddressList.va…
14 ноя '18 в 16:06
1
ответ
Преобразование сообщений обработки потоков Java в очередь с использованием Kotlin Coroutines
В моем приложении для Android есть выделенная нить, которая выполняет сетевые вызовы API с использованием дооснащения. Поток выполняет дооснащение API-вызовов в зависимости от типа полученного сообщения. Я хотел бы перенести этот код для использован…
16 янв '19 в 10:33
0
ответов
Почему обертывание этой функции с suspendCoroutine дает Невозможно выполнить это действие на незапечатанном экземпляре?
Я пытаюсь обернуть эту библиотеку ussd сопрограммами. но по какой-то причине, когда я заверну ussdController.send с suspendCoroutine я получаю эту ошибку E/AndroidRuntime: FATAL EXCEPTION: main Process: com.tabsamo.ussdtest, PID: 29211 java.lang.Ill…
22 янв '19 в 15:45
13
ответов
Как реализовать таймер с соплинами Kotlin
Я хочу реализовать таймер с использованием сопрограмм Kotlin, что-то похожее на это реализовано в RxJava: Flowable.interval(0, 5, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThread()) .map { LocalDateTime.now() } .distinctUntilChanged { old, …
22 фев '19 в 12:43
1
ответ
Сопрограммы, работающие в главном потоке вместо фона
У меня есть приложение, в котором пользователь выбирает PDF-файл из проводника, а затем мне нужно преобразовать этот PDF-файл в базу 64. Ниже приведен мой код для преобразования PDF в Base 64 private fun convertImageFileToBase64(imageFile: File?): S…
24 фев '19 в 04:48
1
ответ
Kotlin сопрограммы - запустить другое задание, если через некоторое время первое не закончится
Я использую сопрограммы Kotlin для получения данных с сервера, я передаю отложенные функции другим функциям. Если сервер не дает ответ в течение 2000 мс, я хотел бы получить объект из локальной БД комнаты (если он существует в локальной базе данных)…
26 фев '19 в 11:44
1
ответ
Android kotlin сопрограммы, есть ли лучший способ вернуть это значение?
Борьба с сопрограммами, но есть ли лучший способ использовать / получить значение для продолжительного вызова здесь, прежде чем передать его в другую сетевую подпрограмму с обратным вызовом? Я видел других, но я не могу использовать значение в после…
28 фев '19 в 16:40
2
ответа
Сопрограммы правильный способ добавить работу в качестве ребенка от другого?
Учитывая, что у нас есть job1 : Job а также job2 : Job и мы хотим сделать job2 ребенок job1 (они созданы отдельно не имеют никакого отношения). Как правильно объявить эти отношения? так что когда job1 отменено job2 отменяется также... Я старался job…
17 фев '19 в 17:33
1
ответ
Когда вы генерируете исключение в области сопрограмм, можно ли повторно использовать область сопрограмм?
У меня были проблемы с выяснением обработки ошибок с сопрограммами, которые я сузил до этого модульного теста со следующими шагами: Я создаю область сопрограммы с любым диспетчером. Я выбрасываю исключение в любом месте этой области в асинхронном бл…
29 ноя '18 в 23:30
2
ответа
Используйте сопрограммы для обновления пользовательского интерфейса при выполнении сетевого вызова
Я пытаюсь показать счетчик при совершении сетевого вызова с использованием сопрограмм. Кажется, что пользовательский интерфейс не показывает состояние LOADING_ITEMS (счетчик) до тех пор, пока не будет возвращен вызов itemsFromRepo, затем в течение д…
01 янв '19 в 09:39
3
ответа
Котлин: сфера действия сопрограмм против контекста сопрограмм
Кто-нибудь может объяснить разницу между ними? Я думаю, что видимость предоставляет ссылку (например, Job), чтобы отменить их, а контекст предоставляет ссылку на основной поток. Это так?
29 янв '19 в 08:37
1
ответ
Как объединить существующие асинхронные запросы с RxAndroid или использовать сопрограммы Kotlin?
Вот мой код У меня есть асинхронный запрос, который реализован в SDK . Я использую его, я реализовал его простым способом вызова входа в систему, обеспечивающий обратный вызов для этого асинхронного запроса. Мой вопрос, возможно ли объединить этот а…
11 фев '19 в 15:39
2
ответа
Котлин сопрограммы GlobalScope.launch vs runBlocking
Есть ли разница между этими двумя подходами? runBlocking { launch(coroutineDispatcher) { // job } } GlobalScope.launch(coroutineDispatcher) { // job }
23 фев '19 в 13:35
2
ответа
Как продолжить функцию приостановки в динамическом прокси в той же сопрограмме?
Я хочу продолжить функцию приостановки в динамическом прокси в той же сопрограмме. Пожалуйста, посмотрите на следующий код: interface Adder { suspend fun add(a: Int, b: Int): Int } val IH = InvocationHandler { _, method, args -> val continuation …
31 янв '19 в 19:03
2
ответа
В чем разница между запуском / объединением и асинхронным / ожиданием в сопрограммах Kotlin
В kotlinx.coroutines Библиотека, вы можете начать новую сопрограмму, используя либо launch (с join) или же async (с await). В чем разница между ними?
14 сен '17 в 19:02
11
ответов
Что означает функция приостановки в Kotlin Coroutine
Я читаю Kotlin Coroutine и знаю, что он основан на suspend функция. Но что делает suspend имею в виду? Сопрограмма или функция приостанавливается? С https://kotlinlang.org/docs/reference/coroutines.html По сути, сопрограммы являются вычислениями, ко…
18 дек '17 в 15:47
6
ответов
Я всегда могу использовать WorkManager вместо сопрограмм?
Интересно, почему я должен беспокоиться о rx или сопрограммах, когда есть блестящее решение как Workmanager. Но почти во всех уроках они используют сопрограммы, поэтому может быть, у workamanager есть недостатки?
25 ноя '18 в 02:36
2
ответа
Как обновить пользовательский интерфейс в сопрограммах в Kotlin 1.3
Я пытаюсь вызвать API, и когда мои переменные будут готовы, обновите компоненты пользовательского интерфейса соответственно. Это мой сетевой синглтон, который запускает сопрограмму: object MapNetwork { fun getRoute(request: RoutesRequest, success: (…
31 окт '18 в 08:34