Область, сетевые операции, подписка и наблюдение в разных потоках с помощью RxJava

Мне необходимо :

Получить некоторые данные из API в фоновом потокеОтображение данных в интерфейсе

Сохранить в царство.

fetchItemsFromServer().subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<ItemList>() {
    @Override
    public void call(ItemList items) {

        displayItems(items);

        try {
            realm.beginTransaction();
            realm.copyToRealmOrUpdate(itemList);
            realm.commitTransaction();
            Logger.v("Realm ", "Copied list object to realm");
        } catch (Exception e) {
            Logger.e("Realm Something went wrong ", e);
            realm.cancelTransaction();
        }

    }
}

Это выдает ошибку:доступ к области из неверной темы

У меня есть 4 вкладки, извлекающие разные сообщения одновременно.

fetchItemsFromServer () является интенсивным вызовом, и ограничение этого вызова одним потоком не годится. Мне нужна эта гибкость.

Кто-нибудь нашел обходные пути, используя царство таким образом?

Большинство примеров, например, как правило, направлены на выборку из Realm против работы с сетевыми операциями:

Пример ниже:

Rxjava -https://realm.io/news/realm-java-0.87.0/

Использование области с RxJava -https://realm.io/news/using-realm-with-rxjava/ (предыдущее решение, но недостатки производительности)

My Realm предоставляется модулем базы данных через внедрение зависимостей (Dagger 2)

@Module
public class DatabaseModule {

    public static final String REALM_FILE_NAME = "Realm name";

    @Provides
    Realm providesRealmInstance(Context context) {
    return Realm.getInstance(
            new RealmConfiguration.Builder(context)
                    .name(REALM_FILE_NAME)
                    .build());
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос