Наблюдаемый
Проверьте, что возвращают все вещи в цепочке client.getAllArticles()
, .subscribeOn(Schedulers.io())
, .observeOn(AndroidSchedulers.mainThread())
.Каждый из этих трех вызовов возвращает Observable
(до или после некоторого преобразования).
Последним в цепочке (результат .observeOn(AndroidSchedulers.mainThread())
) является возможный Observable
, который используетсявами.

Это то, что будет наблюдаться Observer
.
Observer
С RxJava docs :
Метод Subscribe - это способ подключения наблюдателя к Observable.Ваш наблюдатель реализует некоторое подмножество следующих методов:
onNext [...]
onError [...]
onCompleted [...]

Вопрос
Кроме того, как я могу изменить свой код, чтобы я мог использовать Observable или Flowable вместоОдноразовые
Обычно вы просто выставляете Observable
и позволяете "пользователю" из репозитория создавать Observer
и управлять Disposable
(хук для записи записей о подписанных Observers
).Так вот как-то так (не проверял, списывая с головы до головы):
fun loadJson() : Observable<Article> = client.getAllArticles().subscribeOn(Schedulers.io())
(observeOn
действительно для Observer
)