我正在使用带有copyFromRealm
的realm-java来创建数据的分离副本,因为我不需要具有附加对象的复杂性。
我正在尝试与RxJava结合使用,因此使用findAllAsync().asObservable()
可以生成类型为RealmResults
的Observable。但是,这仍然处理附加的对象。
我如何转换它:
public Observable<RealmResults<MyClass>> find(String id) {
return realm.where(MyClass.class)
.equalTo("id", id)
.findAllAsync()
.asObservable()
.filter(RealmResults::isLoaded);
}
还可以使用Realm的realm.copyFromRealm(attachedRealmObject);
方法,以便从Realm自动复制每个结果,而无需遍历RealmResults
列表并手动分离。
答案 0 :(得分:4)
copyFromRealm
也适用于集合,所以下面应该有用吗?
public Observable<RealmResults<MyClass>> find(String id) {
return realm.where(MyClass.class)
.equalTo("id", id)
.findAllAsync()
.asObservable()
.filter(RealmResults::isLoaded)
.map(results -> realm.copyFromRealm(results))
}