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