私は反応的に実装したいかなり複雑な機能を持っています。この機能を有効にするかどうかは、この機能のために、次の観測可能なシーケンスを作成するには、その一部を購読解除して再購読することができますか?
- ユーザー設定が有効になっているに依存します(ユーザーがオンまたはオフにこの機能を切り替えることができます)
- 活動は、(
Activity#onStart()
)に開始されます。あなたがAndroidに精通していない場合、これは単にビューがユーザーに見えるということです。
私が既に持っている以下の観察可能なものがあります。
Observable<Boolean>
- この機能が有効になっているかどうかのユーザーの設定。有効な場合はtrue
、無効の場合はfalse
です。Observable<LifeCycleEvent>
-LifeCycleEvent
は、Androidのアクティビティライフサイクルに関連する列挙型です。加入Observable<Void>
とObservable<Void>
、私の機能を有効にするプロセス集約型のタスクをキックオフ。これら2つの観測は、#2は、LifeCycleEvent#isStarted()
戻りtrue
というイベントを発するときに加入- である必要があり、 #1〜#2が場合#2への
LifeCycleEvent#isStarted()
戻りfalse
- が解除イベントを発するときに解除
- (ユーザイネーブル機能)を発します
LifeCycleEvent#isDestoryed()
がtrue
を返すというイベントが発生します。 #1と#2の登録を解除する必要があるのは、このクラスがガベージコレクションの準備が整っているからです。 #1はfalse
発したときから解除
true
- である必要があり、 #1〜#2が場合#2への
(ユーザーはこの機能を有効にしませんでした)私は最高これをどのように行うことができますか?私は上記の依存関係を取る単一のクラスと、void startObserving()
と呼ばれる単一のメソッドを持っています。このプロセスは、このプロセスが終了するまでは一度だけ呼び出されます(私は何とか2つのサブスクリプションを維持する必要があります。#1 &#2、#3のための別)
絶対に華麗ありがとうございます、あなたは(distinctUntilChangedを意味します)。 – ZakTaccardi