2016-09-20 7 views
0

私はいくつかのテストを行うにはRxJava/RxAndroidライブラリを使用してきた、私が得る(あるいは、少なくとも私は私が手だと思う)基礎とどのようにそれは、より複雑な非同期タスクを容易にすることができるなどRxJavaとAndroid

I別のチュートリアルを読んで、いくつかのパーツを読んだり、完全に理解したりしていますが、3〜4つのタスク/フィルタ/マップなどをチェーン化する複雑なものもあります。他の機能コードを読むことは、非機能コード、すなわちLambdasよりも難しいです。うまくいけば、私はより多くのものを読んで試してみましょう。

しかし、私はに苦しんでいる、と私が読んだ情報で何度か言及されている一つの側面は、「もうコールバックを使用する必要」、または「これ以上のコールバック地獄」ではありません。原則として私はそれを得ます - RxJavaはObserverのパターンです(本質的にははるかに)。しかし、Androidは、ActivityFragmentライフサイクル、ServicesBroadcastReceivers、ClickListenersなどのコールバックに関するすべてのフレームワークです。彼らはどこにでもあります。

私は、コールバックの必要性を取り除く方法についてよく分かりません。

広すぎて問題が解決しないと私は意見を探していません。しかし、いくつかの個人的な例がある場合、またはRxJavaが私が見ることができるライブラリの新しい隅に「意味がある」リンクがあります。現時点では、RxJavaを完全に理解するのではなく、そのためにRxJavaを使用していると感じています。

答えて

1

RxBindingをご覧ください。多くのAndroidクラスのRxエンドポイントを提供しています。 rx-ifyingフレームワーククラスの難しい作業はあなたのために行われます。あなたに関連するパッケージをインポートするだけです。

ボキャブラリを開発するには時間がかかります。最初に、mapのような単純な演算子を読み、時間をかけて経験を積み、ドキュメンテーションを読むことで、そのボキャブラリを開発し、他のコードをよりよく理解することを学びます。

また、RxLifecycleをチェックして、あなたの観測可能なチェーンcompleteを自動的にチェックし、漏洩したサブスクリプション(アクティビティをリークする可能性があります!!!)をチェックしてください。これらはcompleteObservableチェーンであり、購読を解除するだけではありません。つまり、SubscriberonCompleteが呼び出されます。

+0

リンクやご提案ありがとう、非常に便利です。 RxJavaは急な学習曲線のように感じますが、ライブラリーの明確な利点を見ることができますので、私はそれに固執します。 –

関連する問題