내 응용 프로그램에서 응용 프로그램을 시작하자마자 많은 양의 데이터를로드해야합니다. 또한 일부 조각/활동에서 데이터가로드 된 경우 이벤트를 수신해야합니다.ConnectableObservable을 사용하여 프리 페치 한 다음 다른 가입자가 처리 한 데이터를 사용하는 방법
나는 그 목적으로 RxJava ConnectableObservable
을 사용하고 있습니다. 여러 가입자에게 동일한 데이터가 필요하므로 replay()
을 사용했습니다.
Psudo 코드 : 지금은 데이터 프리 페치하려면
Observable.create(emitter -> {
try {
Data next = getDataFromDb();
emitter.onNext(next);
emitter.onCompleted();
} catch (SQLiteException e) {
emitter.onError(e);
}
}, Emitter.BackpressureMode.BUFFER)
.toList()
.compose(applySchedulers())
.replay()
, I 응용 프로그램 클래스의 subscribe
다음 활동에서이/조각은 connect()
를 사용해야합니까?