Size: a a a

StartAndroid Ru Kotlin

2020 March 31

R

Rostislav in StartAndroid Ru Kotlin
Охх, звучит непонятно, приду перечитать это сообщение через пару часов) .
Да, всем карантин)
источник

AB

Aleksei B. in StartAndroid Ru Kotlin
Если коротко, то оборачиваешь вызов Retrofit в suspendCancellableCoroutine { continuation ->
override fun onResponse(...) {
continuation.resume(...) или continuation.cancel(), или continuation.resumeWithException()
}
override fun onFailure(...) {
continuation.resumeWithException(throwable)
}
}

А gerRepFromServer делаешь suspend функцией и вызываешь так:

GlobalScope.launch(Dispatchers.Main) {
onShowProgressBar()
val repositories = withContext(Dispatchers.IO) { gerRepFromServer() }
onUpdateUi(repositories)
onHideProgressBar()
}
источник

R

Rostislav in StartAndroid Ru Kotlin
Вау,  большое спасибо! Разберёмся, внедрим
источник

I

I in StartAndroid Ru Kotlin
Всем привет. Кто может объяснить как работает небольшой кусочек кода (в скринах ниже). Мы вызываем viewModel в которую передаем три Extension функции. Не могу понять, эти функции по отдельности вызываются? Каким образом тогда viewModel возвращает только один экземпляр vm.
источник

I

I in StartAndroid Ru Kotlin
источник

I

I in StartAndroid Ru Kotlin
источник

I

I in StartAndroid Ru Kotlin
источник
2020 April 01

AA

Artyom Afanasiev in StartAndroid Ru Kotlin
I
Всем привет. Кто может объяснить как работает небольшой кусочек кода (в скринах ниже). Мы вызываем viewModel в которую передаем три Extension функции. Не могу понять, эти функции по отдельности вызываются? Каким образом тогда viewModel возвращает только один экземпляр vm.
создаётся только с помощью функции viewModel, а onSuccess и onFailure просто выполняют подписку обсерверов на liveData
источник

I

I in StartAndroid Ru Kotlin
Artyom Afanasiev
создаётся только с помощью функции viewModel, а onSuccess и onFailure просто выполняют подписку обсерверов на liveData
Ну они же передаются во viewModel? И получается что-то вроде vm.onSucces()?
источник

AA

Artyom Afanasiev in StartAndroid Ru Kotlin
I
Ну они же передаются во viewModel? И получается что-то вроде vm.onSucces()?
Они не передаются
Я так понимаю, registerData, accountData и failureData являются публичными LiveData в твоём классе вью модели, и на них происходит подписка
Чтобы понять, как работает, советую почитать детальнее про лямбды, Kotlin DSL
источник

I

I in StartAndroid Ru Kotlin
То есть во viewModel передаётся лямбда-выражение в котором два onSucces и onFailure и тд? Да, являются публичными livedata
источник
2020 April 02

AB

Aleksei B. in StartAndroid Ru Kotlin
viewModel обычно используется в паттерне MVVM
источник

AB

Aleksei B. in StartAndroid Ru Kotlin
В этом паттерне должно быть так, чтобы ViewModel сама оповещала слушателя об изменениях
источник

AB

Aleksei B. in StartAndroid Ru Kotlin
каким способом это будет, через колбэки/консьюмеры, через LiveData, через RxJava, без разницы
источник

AB

Aleksei B. in StartAndroid Ru Kotlin
это вопрс общей архитектуры и удобства
источник

Ч

Чича in StartAndroid Ru Kotlin
ребятки, дропается такая ошибка, в манифесте активити прописана, на другом эмуляторе работает всё норм, после вайпа данных всё равно крашится
источник

V

Vitali in StartAndroid Ru Kotlin
Так оно работает или нет?
источник

ИК

Илья Кобзев... in StartAndroid Ru Kotlin
Чистка проекта обычно помогает.
источник
2020 April 03

☠🇷

☠️ hex 🇷🇺🐍... in StartAndroid Ru Kotlin
Господа, использую PeriodicWorkRequestBuilder<CoroutineWorker>, при этом запускаю в Application.onCreate() методом https://pastebin.com/2PweLmcn .
Как сделать так чтобы при вызове этого метода предыдущие запланированные doWork отменялись чтобы не было по десять вызовов doWork каждые 15 минут?
источник

А

Андрей in StartAndroid Ru Kotlin
☠️ hex 🇷🇺🐍
Господа, использую PeriodicWorkRequestBuilder<CoroutineWorker>, при этом запускаю в Application.onCreate() методом https://pastebin.com/2PweLmcn .
Как сделать так чтобы при вызове этого метода предыдущие запланированные doWork отменялись чтобы не было по десять вызовов doWork каждые 15 минут?
Так у тебя же unique work используется для запуска, не должно быть проблем или можешь с флагом Keep попробовпть.
источник