EventBusパターンをRxJavaAndroid アプリで置き換えています。キャッシュ シングルトンのデータの更新を関係者に警告するイベントがありました。Web サービスが呼び出されるたびに、データが更新され、サブスクライバーは投稿されたイベントを介して警告されます。
私はRxJavaでこれに近いものを設定していAsyncSubjectます。オブザーバーはサブジェクトから 1 つのイベントを取得しますが、その後、onCompleteイベントを取得してサブスクライブを解除します。これは、UI が最初に読み込まれるときに機能しますが、データを更新する必要がある場合、通知されるサブスクライバーはありません。からのより多くのイベントをSubscribersリッスンし続けるように指示するにはどうすればよいですか?onNextSubject
Subject最新のアイテムを報告する が必要です。PublishSubjectサブスクリプション後にアイテムを発行するだけなので、私のニーズを完全には満たしていません。サブスクライバーはさまざまな時点 (おそらく最初のデータ イベントの後) に監視を開始するため、サブジェクトが最後に監視されたアイテムを発行し、後続のアイテムのためにストリームを開いたままにする必要があります。AsyncSubject と PublishSubject の組み合わせが必要なようです。組み込みのクラスでこれを達成する方法はありますか、それとも独自のサブジェクトを作成する必要がありますか?
WebServiceObservable OR CacheObservable
^
|
AsyncSubject
^
|
/ \
/ \
/ \
UiObserver1 UiObserver2