Je suis en train de comprendre comment travailler avec Realm
et RxJava2
ensemble (pour les transactions async) et fait quelques exemple de projet avec des transactions:Royaume avec RxJava2 Flowable fil incorrect
private void writeAllUsers() {
Realm.getDefaultInstance().executeTransactionAsync(realm -> realm.copyToRealmOrUpdate(users));
}
private void getAllUsers() {
getUsers().observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(this::successGetUser, this::handleUserError);
}
private Flowable<RealmResults<User>> getUsers() {
return Realm.getDefaultInstance()
.where(User.class)
.findAllAsync()
.asFlowable();
}
Mais quand je l'appelle getAllUsers
, je reçois exception :
java.lang.IllegalStateException: Accès au domaine à partir d'un thread incorrect. Les objets de domaine ne sont accessibles que sur le thread dans lequel ils ont été créés.
Qu'est-ce que j'ai fait de mal dans ce cas?
Chaque appel 'getInstance()' devrait avoir un appel 'close()' correspondant, mais uniquement lorsque le domaine ou l'un de ses résultats ne sera plus accessible. – EpicPandaForce