Публикации по теме '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 просмотров
schedule
03.12.2023
Преобразование ада обратного вызова в отложенный объект
Предыстория . Итак, у меня довольно большой проект с множеством функций API. Думаю полностью перейти на сопрограммы, но так как они реализованы как Callback а не Deferred , то не могу их эффективно использовать. Например: я хотел бы сделать...
1984 просмотров
schedule
14.12.2023
Уведомлять вакансии, когда заканчивается другая работа
В моем приложении для всех запросов требуется токен в качестве заголовка авторизации http, срок действия которого истекает через определенное время. Когда задание поступает с сервера с кодом состояния 401 , мне нужно запустить задание, чтобы...
262 просмотров
schedule
01.04.2024
Android объединяет два вызова Firestore в один обратный вызов
В настоящее время я запрашиваю коллекцию по ссылке Firestore:
val missionsCollection = FirebaseFirestore.getInstance()
.collection("/customers").document(user.customerId).collection("missions")
.orderBy("deadline")...
941 просмотров
schedule
09.11.2023
Использовать основной поток после длительной работы в сети
В моем приложении для Android у меня долгая сетевая работа. После завершения операции мне нужно обновить мой пользовательский интерфейс.
В результате длинная операция должна выполняться в фоновом потоке.
Фрагмент:
private val...
780 просмотров
schedule
31.10.2022
Как правильно инициализировать Recyclerview в Котлине с помощью сопрограмм?
Я изучаю kotlin Android с помощью Coroutines, и у меня проблема с правильным запуском RecyclerView. У меня есть функция вне метода onCreate, но я не могу передать Arraylist из этого метода в адаптер в onCreate. Как вы можете видеть в моем коде, я...
650 просмотров
schedule
12.09.2022
Как отменить работающий блок LiveData Coroutine
Используя последнюю версию LiveData «androidx.lifecycle: lifecycle-liveata-ktx: 2.2.0-alpha03», я разработал код для функции «Поиск продуктов» в ViewModel, используя новый строительный блок LiveData (LiveData + Coroutine), который выполняет...
2633 просмотров
schedule
23.05.2024
android: сообщение retrofit2 дает ошибку, но успешно?
Я пытаюсь отправить элемент из своего приложения в свою базу данных с помощью сообщения. post ничего не возвращает, это пустота в веб-сервисе.
моя функция интерфейса службы
@POST("SaveDailyScan")
suspend fun save(@Body itemModel: ItemModel) :...
164 просмотров
schedule
16.06.2024
Тестирование 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 просмотров
schedule
06.11.2023
Как дождаться завершения всей асинхронной обработки?
У меня есть список запросов, которые я хочу выполнить, и я хочу дождаться их завершения, чтобы выполнить их. Я использую корутины котлина с повторением и асинхронностью, как показано ниже.
viewModelScope.launch(Dispatchers.IO) {...
2031 просмотров
schedule
31.03.2024
Предупреждение о сопрограммах Android Proguard Kotlinx
У меня есть эти предупреждения? Как это решить?
Я пытался сделать -dontwarn kotlinx.coroutines.flow.**inlined** Это устраняет предупреждение, но я думаю, что мое приложение вылетает.
Предупреждение:...
1076 просмотров
schedule
07.03.2024
Как наблюдать за Emited LiveData с помощью MVVM
Я изо всех сил пытаюсь понять, как обрабатывать выпущенные liveData. Я написал здесь четыре разных примера liveData,
class MainViewModel : ViewModel() {
val viewModelValue = MyRepo.liveValue
fun viewModelGetNextValue(){...
254 просмотров
schedule
23.08.2022
Разница в использовании каналов Kotlin между Send и Offer
У каналов есть две функции, которые позволяют нам отправлять в них события. Send и offer .
Я хотел бы лучше понять разницу между ними.
У меня есть несколько утверждений, которые я хочу проверить.
Send - это функция приостановки. Что...
1018 просмотров
schedule
04.03.2024
Передача MutableLiveData между функциями
У меня есть функция «A» в ViewModel, которая извлекает данные из firebase, и я присваиваю значение MutableLiveData<Int> (все это заключено в onSuccessListener ) и возвращаю его. Эта функция вызывается из другой функции «B» в той же...
557 просмотров
schedule
06.04.2024
Отменить задание, которое запускает сопрограмму, и повторно использовать объект задания
В настоящее время у меня есть работа, которая выполняет какой-то процесс (это немного интенсивно, занимает около 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 просмотров
schedule
12.10.2022