2
我使用ormlite並將數據庫數據轉換爲rx Observable。RxJava2,OrmLite - 一個可觀察,多個訂戶 - 爲所有訂戶重複數據
public static <T> Observable<T> createObservable(@NonNull Observable<T> observable) {
return observable.subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread());
}
public Observable<List<Country>> getCountriesObservable() {
return RxUtils.createObservable(new Observable<List<Country>>() {
@Override
protected void subscribeActual(Observer<? super List<Country>> observer) {
try {
List<Country> list = mCountryDao.getCountries();
observer.onNext(list == null ? Collections.<Country>emptyList() : list);
observer.onComplete();
} catch (SQLException exc) {
Log.e(TAG, exc.getMessage());
observer.onError(exc);
}
}
});
}
我有三個不同的類A,B,C。在這個類中,我創建了三個觀察者。我贊成觀察。
observable.subscribe(observerA);
observable.subscribe(observerB);
observable.subscribe(observerC);
之後我改變了A類數據並更新了數據庫。 是否有方法可以爲所有觀察者說明可重複的新數據?
或者我需要再次寫這段代碼?
observable.subscribe(observerA);
observable.subscribe(observerB);
observable.subscribe(observerC);
其作品完美。謝謝。 –