Я хочу сохранить модифицированные ответы на realm на фоновом потоке, а затем передать его в поток пользовательского интерфейса, но его немного сложно, так как Realm очень тронут потоками. так что код будет выглядеть как-то вроде этого, пожалуйста, представить свои изменения во все более эффективные решения :)Как объединить Retrofit 2 с Realm и RxJava
restApi.userRealmList()
.doOnNext(userRealmModels -> {
if (userRealmModels != null){
mRealm = Realm.getInstance(mContext);
mRealm.asObservable()
.map(realm -> mRealm.copyToRealmOrUpdate(userEntity))
.subscribe(new Subscriber<Object>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
}
@Override
public void onNext(Object o) {
Log.d("RealmManager", "user added!");
}
});
}})
.map(userEntityDataMapper::transformAll)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<User>>() {
@Override
public void onCompleted() {
hideViewLoading();
}
@Override
public void onError(Throwable e) {
hideViewLoading();
showErrorMessage(new DefaultErrorBundle((Exception) e));
showViewRetry();
}
@Override
public void onNext(List<User> users) {
showUsersCollectionInView(users);
}
});