Публикации по теме 'kotlin-coroutines'


Что такое сборщики сопрограмм?Мастер-класс по сопрограммам: глава 2, запуск, асинхронность, блокировка запуска…
Добро пожаловать в подробное руководство по Kotlin Coroutines! В этой серии статей я провожу вас в увлекательное путешествие, начиная с основ и постепенно углубляясь в более сложные концепции. Откройте для себя мир основных конструкторов сопрограмм , от runBlocking до produce. Итак, возьмите свою любимую чашку кофе, устройтесь поудобнее и давайте углубимся в мир сопрограмм. эм> Во второй главе нашего мастер-класса по сопрограммам мы рассмотрим основные конструкторы..

100 Days of Kotlin  — «День 2: типы данных» — «Строительные блоки переменных»
Добро пожаловать на наши 100 дней изучения Kotlin! В первый день мы заложили основу, настроив среду разработки и познакомившись с основами Kotlin. Сегодня мы более подробно рассмотрим типы данных Kotlin, которые составляют основу для хранения и обработки информации в переменных. Итак, давайте погрузимся в мир типов данных и расширим наш набор инструментов для кодирования! Kotlin: швейцарский армейский нож языков Прежде чем мы углубимся в детали Kotlin, давайте на минутку оценим его..

Kotlin Coroutines в Android - Канал
Самый простой способ понять, что такое канал и как его использовать. Я представил Основы Kotlin Coroutines и Функции приостановки в предыдущих сообщениях. Сегодня мы узнаем кое-что о Channel . Как мы узнали из Kotlin Coroutines in Android - Basics , Deferred передает одно значение между сопрограммами. Channel можно рассматривать как предоставление потока значений между сопрограммами. Оглавление Основы работы с каналом Channel.send () и Channel.receive ()..

Вопросы по теме 'kotlin-coroutines'

Есть ли контекст для сопрограмм, который создает новые потоки до предела, например ThreadPoolExecutor?
Я хотел бы, чтобы мое приложение немного автоматически масштабировалось, если будет поступать больше запросов, но я также хотел бы использовать неблокирующие сопрограммы, предоставляемые Kotlin. Глядя на документацию, кажется, что единственный...
164 просмотров
schedule 09.09.2022

Как вернуть список из базы данных Firestore в результате функции в Kotlin?
Я создаю приложение для друга и использую Firestore. Я хочу отобразить список любимых мест, но по какой-то причине список всегда пуст. Я не могу получить данные из Firestore. Это мой код: fun getListOfPlaces() : List<String> {...
8733 просмотров

Преобразование ада обратного вызова в отложенный объект
Предыстория . Итак, у меня довольно большой проект с множеством функций API. Думаю полностью перейти на сопрограммы, но так как они реализованы как Callback а не Deferred , то не могу их эффективно использовать. Например: я хотел бы сделать...
1984 просмотров

Уведомлять вакансии, когда заканчивается другая работа
В моем приложении для всех запросов требуется токен в качестве заголовка авторизации http, срок действия которого истекает через определенное время. Когда задание поступает с сервера с кодом состояния 401 , мне нужно запустить задание, чтобы...
262 просмотров
schedule 01.04.2024

Android объединяет два вызова Firestore в один обратный вызов
В настоящее время я запрашиваю коллекцию по ссылке Firestore: val missionsCollection = FirebaseFirestore.getInstance() .collection("/customers").document(user.customerId).collection("missions") .orderBy("deadline")...
941 просмотров

Использовать основной поток после длительной работы в сети
В моем приложении для Android у меня долгая сетевая работа. После завершения операции мне нужно обновить мой пользовательский интерфейс. В результате длинная операция должна выполняться в фоновом потоке. Фрагмент: private val...
780 просмотров
schedule 31.10.2022

Как правильно инициализировать Recyclerview в Котлине с помощью сопрограмм?
Я изучаю kotlin Android с помощью Coroutines, и у меня проблема с правильным запуском RecyclerView. У меня есть функция вне метода onCreate, но я не могу передать Arraylist из этого метода в адаптер в onCreate. Как вы можете видеть в моем коде, я...
650 просмотров

Как отменить работающий блок LiveData Coroutine
Используя последнюю версию LiveData «androidx.lifecycle: lifecycle-liveata-ktx: 2.2.0-alpha03», я разработал код для функции «Поиск продуктов» в ViewModel, используя новый строительный блок LiveData (LiveData + Coroutine), который выполняет...
2633 просмотров

android: сообщение retrofit2 дает ошибку, но успешно?
Я пытаюсь отправить элемент из своего приложения в свою базу данных с помощью сообщения. post ничего не возвращает, это пустота в веб-сервисе. моя функция интерфейса службы @POST("SaveDailyScan") suspend fun save(@Body itemModel: ItemModel) :...
164 просмотров

Тестирование ViewModel в Android с сопрограммами Koin и Kotlin
Я начал использовать Koin, и мне нужно протестировать ViewModel, который просит репозиторий получить файл из внутренней памяти телефона. Когда я устанавливаю тест ViewModel, я делаю: @Before fun setup() { startKoin {...
509 просмотров
schedule 21.03.2024

Каков порядок выполнения сопрограмм?
Рассмотрим следующий код на kotlin. val scope = CoroutineScope(Dispatchers.Main + Job()) scope.launch { println("inside coroutine") } println("outside coroutine") Мы создаем сопрограмму в основном потоке (UI), а после сопрограммы идет...
645 просмотров

Как дождаться завершения всей асинхронной обработки?
У меня есть список запросов, которые я хочу выполнить, и я хочу дождаться их завершения, чтобы выполнить их. Я использую корутины котлина с повторением и асинхронностью, как показано ниже. viewModelScope.launch(Dispatchers.IO) {...
2031 просмотров

Предупреждение о сопрограммах Android Proguard Kotlinx
У меня есть эти предупреждения? Как это решить? Я пытался сделать -dontwarn kotlinx.coroutines.flow.**inlined** Это устраняет предупреждение, но я думаю, что мое приложение вылетает. Предупреждение:...
1076 просмотров

Как наблюдать за Emited LiveData с помощью MVVM
Я изо всех сил пытаюсь понять, как обрабатывать выпущенные liveData. Я написал здесь четыре разных примера liveData, class MainViewModel : ViewModel() { val viewModelValue = MyRepo.liveValue fun viewModelGetNextValue(){...
254 просмотров

Разница в использовании каналов Kotlin между Send и Offer
У каналов есть две функции, которые позволяют нам отправлять в них события. Send и offer . Я хотел бы лучше понять разницу между ними. У меня есть несколько утверждений, которые я хочу проверить. Send - это функция приостановки. Что...
1018 просмотров

Передача MutableLiveData между функциями
У меня есть функция «A» в ViewModel, которая извлекает данные из firebase, и я присваиваю значение MutableLiveData<Int> (все это заключено в onSuccessListener ) и возвращаю его. Эта функция вызывается из другой функции «B» в той же...
557 просмотров

Отменить задание, которое запускает сопрограмму, и повторно использовать объект задания
В настоящее время у меня есть работа, которая выполняет какой-то процесс (это немного интенсивно, занимает около 10 секунд) Но я хотел бы немедленно отменить его, когда придет следующий вызов executeProcess (). private var myJob: Job? = null fun...
51 просмотров
schedule 18.01.2024

Невозможно вызвать setValue в фоновом потоке
Может кто-нибудь сказать мне, что я делаю не так private fun getTorrentsSocketIO() { coroutineScope.launch { try { val socket = IO.socket("...") socket.on("torrents") { val...
939 просмотров
schedule 14.01.2024

Как использовать сопрограмму Kotlin для вызова функции блокировки?
Я хотел бы использовать сопрограммы Kotlin для вызова функций блокировки. Например, я хотел бы иметь функцию приостановки, которая блокировалась бы до тех пор, пока пользователь не ответит на модальное диалоговое окно или пока не вернется сетевой...
762 просмотров
schedule 07.06.2024

Несколько асинхронных сопрограмм для сокращения времени выполнения в Kotlin
У меня был список, и я хочу выполнить 1 тяжелую задачу со всеми элементами с минимальным временем выполнения. Мое решение - создать ряд сопрограмм, которые равны элементам в списке с диспетчером по умолчанию. Пример: list.map { async {...
89 просмотров