/ / `.findAllAsync()。asObservable()`を `copyFromRealm`と組み合わせる方法は? -レルム、rx-java

`.findAllAsync()。asObservable()`と `copyFromRealm`をどのように組み合わせるのですか? - realm、rx-java

私はrealm-javaを使用しています copyFromRealm データの分離されたコピーを作成します。 添付された オブジェクト。

私はRxJavaと組み合わせようとしているので、 findAllAsync().asObservable() タイプのObservableを生成するために正常に動作します RealmResults。しかし、これはまだ対処しています 添付された オブジェクト。

これをどのように変換しますか:

public Observable<RealmResults<MyClass>> find(String id) {
return realm.where(MyClass.class)
.equalTo("id", id)
.findAllAsync()
.asObservable()
.filter(RealmResults::isLoaded);
}

レルムも利用する realm.copyFromRealm(attachedRealmObject); メソッドを使用して、すべての結果がレルムから自動的にコピーされるようにします。 RealmResults リストし、手動でデタッチします。

回答:

回答№1は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))
}