問題タブ [rx-android]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1687 参照

java - RxJava: 実行時間の長いホット オブザーバブル チェーンをリセットするにはどうすればよいですか?

私のアプリの検索機能には、次のことを行うホット オブザーバブル チェーンがあります。

  1. ユーザー入力文字列をEditText(a TextChangedEvent) に受け入れます (on mainThread)
  2. デバウンス 300ms (computationスレッド上)
  3. ローディングスピナーを表示 ( mainThread)
  4. その文字列を使用して SQL データベースにクエリを実行します (このクエリには 100 ミリ秒から 2000 ミリ秒かかる場合があります) (on Schedulers.io())
  5. 結果をユーザーに表示する ( mainThread)

ステップ 3 の長さは非常に可変であるため、最近の検索結果よりも新しい検索結果が表示される競合状態が発生します (場合によっては)。ユーザーが を入力したいとしますがchicken、入力速度が異常なため、単語の最初の部分が単語全体の前に出力されます。

  • の検索chickが最初に送信され、続いて が送信されchickenます。
  • 実行にchickかかると言いますが、実行にかかります。1500mschicken300ms
  • これにより、chick検索語に対する検索結果が正しく表示されなくなりますchicken。これは、chicken検索が最初に完了し (わずか 300 ミリ秒しかかからなかった)、続いて検索が完了したためchickです (1500 ミリ秒)。

このシナリオをどのように処理できますか?

  • ユーザーが を介して新しい検索をトリガーするTextChangedEventと、古い検索がまだ実行されていても、私は気にしません。古い検索をキャンセルする方法はありますか?

完全な観察可能なコード:

0 投票する
3 に答える
3894 参照

android - RxJava、フラットマップの適切な使用例

私はRxJavaが初めてで、flatMap関数にしばしば混乱します。ドキュメントによると、フラットマップtransform the items emitted by an Observable into Observables, then flatten the emissions from those into a single Observable

誰かがそれの良いユースケースを与えることができますか? 元の Observable を Observable (複数) に変換してから、それらを単一の Observable に変換するのはなぜですか。

なぜ「地図」を使わないのですか?

Android で素晴らしい例を挙げるとすれば、それ以外の場合はプレーンな Java で十分です。ありがとう

0 投票する
1 に答える
893 参照

multithreading - RxJava:サブスクリプション後にオブザーバブルをブロックしていますか?

オブザーバブルが特別に必要です。

通常、私のオブザーバブルは別のスレッドで実行されます。ただし、サブスクリプションの途中で別のスレッドをブロックする必要がある場合があります。未来の振る舞いのようなもの。

例:

突然、さらに別のスレッドでイベントが発生し、現在のスレッドにサブスクリプションの実行を待機するよう通知しますs。(例は、Android のonPause.)

それ、どうやったら出来るの?sサブスクリプションを待ち、すべての結果を取得するにはどうすればよいですか?

(科目?)

0 投票する
1 に答える
237 参照

rx-java - AndroidObservables が Android Studio で認識されない

これはばかげた質問のように聞こえるかもしれません。これをgradleファイルに入れました

それでもAndroidObservables認識されず、コードをコンパイルできません。すでにGradleを同期しようとしました。ヒントはありますか?ありがとう

0 投票する
1 に答える
1109 参照

rx-java - RxJava、Observables呼び出しチェーンのさまざまな状態でビューを更新する方法は?

1 つの Observable を使用して 1 つのタスクを実行し、出力されたデータを取得してから、別の Observable を使用して別のクエリを実行する必要があります。通常、私は a を使用しflatmapて 2 つの Observable をチェーンし、出力されるデータの最終部分だけを気にします。ここで、プロセス中にビューを更新する必要があります。最初の Observable がデータを発行するとき、UI にテキスト行を表示する必要があります。

最初のObservable 内で 2 番目の Observable を呼び出して、2 回の呼び出しに分割できることはわかっていますがonNext()、それは面倒です。

その道をたどらずに、どうすれば上で説明したことを達成できますか? ありがとう

0 投票する
1 に答える
238 参照

rx-java - RxBinding を追加したときにこのエラーが発生する

RxBinding を追加すると、このエラーが発生します

提案に従うか、sdk:minSdkVersion を 15 にアップグレードする必要がありますか、それともより良い解決策がありますか?