Есть данные в базе
@Query("SELECT * FROM goodsentity")
Maybe<List<GoodsEntity>> getAllGoodsEntity();
база пустая данные еще не инсертил .Maybe
возвращает onSucces
хотя по идеи если данных нет то должен вернуть onComplete
getGoodsDao().getAllGoodsEntity()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
it->{
Log.e("Error","zero");
},
ex->{ Log.e("Error","ex");},
()->{ Log.e("Error","emmpty");}
);
возвращает zero а не empty ,почему и как сделать чтоб если данных нет возвращал onSuccess
Это потому, что в onSuccess
приходит пустой список. А Maybe
вызовет onComplete
только если null
эмитит. Со списком в качестве возвращаемого значения работать Maybe
не будет.
Если возвращаемым значением назначить не список, но просто GoodsEntity
- получите ожидаемое поведение.
Судя по этому ответу вам может помочь фильтрация пустого списка для получения ожидаемого поведения:
maybeWhichEmitsList
.filter { it.isNotEmpty() }
Виртуальный выделенный сервер (VDS) становится отличным выбором
Для работы с БД MySQL пытаюсь импортировать mysql-connector-java-80
Для чего нужен атрибут path y form:lableПри такой записи все нормально выводится:
Есть ярлык на папку (lnk), мне нужно, чтобы программа с помощью этого ярлыка получила адрес папки, на которую ярлык указывает
В проекте все Activity содержат NavigationView и при заходе в визуальный редактор в AndroidStudio шторка закрывает собой все элементы которые мне нужны на страницеЕсть...