【发布时间】:2016-11-23 09:27:26
【问题描述】:
在我的 Android 应用程序中,我使用 Realm 和 RxJava,我想通过传递一个新值来更新一个对象。我为此使用realm.executeTransactionAsync()。但我想订阅此事件以在我使用此方法的类中进行错误处理。到目前为止我所做的是:
public Observable updateDogAge(final String dogId, final int age) {
return Observable.create(new Observable.OnSubscribe<Dog>() {
@Override
public void call(final Subscriber<? super Dog> subscriber) {
realm.executeTransactionAsync(realm1 -> realm1.where(Dog.class)
.equalTo(DOG_ID_FIELD, dogId)
.findFirst()
.setAge(age),
subscriber::onCompleted,
subscriber::onError);
}
});
}
现在我想获得更新此对象是否成功的布尔标志。现在我觉得只是打电话给subscriber::onCompleted 不是正确的解决方案。我也不确定Observable.onCreate()的使用。
你能告诉我从异步 Realm 事务中获取 Observable(或 Single)的正确方法是什么吗?
【问题讨论】:
标签: android asynchronous realm rx-java