Size: a a a

Android Developers

2019 November 15

QH

Quantum Harmonizer in Android Developers
Nick Marchuk
Ребят, подскажите пожалуйста c Rx'ом, ибо я в нем очень силён

Есть ViewModel в которой идет запрос в репозиторий

Код вьюмодельки
disposable = messagesRepository
           .newMessage(threadId, validateField(content), images)
           .observeOn(Schedulers.io())
           .subscribeOn(AndroidSchedulers.mainThread())
Schedulers.io())
           .subscribeOn(AndroidSchedulers.mainThread())
           .subscribe(......)

И следующий код в репозитории
fun newMessage(параметры): траляля  {
     val imagesNew = compressImages() // и вот данная часть кода выполняется в мейн потоке
return api.newMessage(threadId, contentPart, imagesNew)
           .subscribeOn(ioScheduler)
           .observeOn(mainThreadScheduler)
}

Вопрос, почему данный фрагмент кода выполняется в мейн потоке?
Скорее всего, ты хочешь из compress вернуть fromCallable { здесь тяжёлая работа }, но выполняешь работу на месте
источник

VM

Vadim Morozov in Android Developers
Добавил себе debug версию
debug {
           applicationIdSuffix ".debug"
           debuggable true
       }

и сразу выдало ошибку после Sync'a
ERROR: Library projects cannot set applicationIdSuffix. applicationIdSuffix is set to '.debug' in build type 'debug'.
Affected Modules: smandarine-library
источник

QH

Quantum Harmonizer in Android Developers
Vadim Morozov
Добавил себе debug версию
debug {
           applicationIdSuffix ".debug"
           debuggable true
       }

и сразу выдало ошибку после Sync'a
ERROR: Library projects cannot set applicationIdSuffix. applicationIdSuffix is set to '.debug' in build type 'debug'.
Affected Modules: smandarine-library
нуу, логично, у библиотек нет applicationId
источник

K

Kopusha in Android Developers
кто-то пишет UI тесты? Что-то накручиваете поверх espresso?
источник

I

Ivan in Android Developers
Друзья, а есть какой-то способ сделать так, чтобы Flowable эмитил только новые или обновлённые объекты из БД, а не все, когда в базе что-то обновилось? Пока только придумал на уровне репозитоиия хранить последнюю выдачу из БД, как только БД заэмитит весь список, в .map сравнить последнюю выдачу с новой.
источник

A

Alexander in Android Developers
Ivan
Друзья, а есть какой-то способ сделать так, чтобы Flowable эмитил только новые или обновлённые объекты из БД, а не все, когда в базе что-то обновилось? Пока только придумал на уровне репозитоиия хранить последнюю выдачу из БД, как только БД заэмитит весь список, в .map сравнить последнюю выдачу с новой.
Щас бы через Flowable данные из БД эмитить.
источник

QH

Quantum Harmonizer in Android Developers
Alexander
Щас бы через Flowable данные из БД эмитить.
Щас бы критиковать не предлагая альтернатив.
источник

I

Ivan in Android Developers
Alexander
Щас бы через Flowable данные из БД эмитить.
а через что щас эмитят?
источник

A

Alexander in Android Developers
Ivan
а через что щас эмитят?
Давай на Observable поменяем
источник

K

Kopusha in Android Developers
.distincstUntilChanged или как там его, не оно? Если equals у моделей правильный, должно сработать
источник

I

Ivan in Android Developers
Alexander
Давай на Observable поменяем
смысл?
источник

A

Alexander in Android Developers
А лучше Single<List<Data>>
источник

A

Alexander in Android Developers
А хотя не, это из другой предметной области
источник

I

Ivan in Android Developers
Kopusha
.distincstUntilChanged или как там его, не оно? Если equals у моделей правильный, должно сработать
оно чуть для другого. оно по hash коду сравнивает, что списки разные и всё. а мне бы саму разницу получить
источник

DE

Denis Egorov in Android Developers
Alexander
А лучше Single<List<Data>>
И что это даст?)
источник

DE

Denis Egorov in Android Developers
Alexander
Давай на Observable поменяем
Если используется рум, то нельзя так, вроде
источник

I

Igor in Android Developers
Igor
А почему AS Canary 3 может не показывать “Build Speed” ?
Там версия плагина какая-то должна быть конкретная или гредла?
Ну конечно.
Нужно было версию gradle плагина поставить в 4.0.0-alpha03
источник

I

Ivan in Android Developers
Denis Egorov
Если используется рум, то нельзя так, вроде
почему нельзя? можно, только что это даст? в данном контектсе Flowable от Observable не будет отличаться же
источник

DE

Denis Egorov in Android Developers
Ivan
почему нельзя? можно, только что это даст? в данном контектсе Flowable от Observable не будет отличаться же
Room, вроде, просит поддержку backpressure, если ты хочешь подписку на изменения
источник

VM

Vadim Morozov in Android Developers
Quantum Harmonizer
нуу, логично, у библиотек нет applicationId
а да сори
а такой вопросик
если мне нужно создать после xml файл для debug версии
мне теперь нужно добавить пакет debug? и в него res/xml ?
источник