第1編AndroidでRxJavaを使う

2182 ワード

以前からRxJavaが使いやすいと聞いていましたが、最近勉強を始めたのは仕方がありません.具体的には、どのような理由で知っていますか.本文からRxJavaを徐々に勉強し、プロジェクトに改善します.実はその前にRxJavaについて多くの文章を見て、ここではその理念を紹介するつもりはありません(実は私もよく分からないので、人を誤解するつもりはありません)、しかしこれは重点ではありませんて、重点はどのように最も速く使うかで、実は私はその最大のハイライトがコードを簡略化してコードの可読性をもたらすことを気に入って、特にあれらの謎の一般的なインデント、もちろん本人も長いインデントを使っています.
PS:ここの文章は私のようにまだRxを使っていない初心者に向いているので、くどくど言うかもしれませんが、大神は見たら噴かないでください.勝手にアドバイスしても噴くよりはいいです.
AndroidでRxJavaを使うにはいくつかのパッケージを導入する必要があり、githubの構成を見てみると、古くなっても更新されていないようで、ネット上の感覚は少し古くなっていて、何度も波乱を経て最終的にmaven倉庫で最新のバージョンを見ました.現在の最新バージョンは2.0.1
1.導入依存
moduleの下にgradleファイルに次の構成を追加します.
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

これで楽しく使えます.
2.簡単に言えば
RxJavaには2つのオブジェクトがあり、1つはObservable(被観察者オブジェクト)と呼ばれ、もう1つはObserver(観察者オブジェクト)と呼ばれています.実はこれが観察者モードの強化版で、被観察者は実際にデータソースを操作する管理者であり、観察者はデータを最も消費する人です.被観察者が自発的に観察者にメッセージデータを送信する.生活の例を挙げると、あなたが新聞社に行って週刊誌を購読することです.この新聞社はデータ源です.週刊誌はあなたが読むデータです.新しい週刊誌があるたびに、新聞社は自分で新聞社に問い合わせなくても、積極的に新しい週刊誌を送ってくれます.もちろん前提はお金を先に払わなければならないことですが、コンピュータの世界では単純です.購読すれば送ってくれますが、もちろん時々かんしゃくを起こします.
3.使用
上記に基づいて、RxJavaを使用する場合は、まずデータソースを用意してから被観察者に渡さなければなりません.私たちは簡単な文字列をデータソースとして使用し始めました.もちろん、ここのデータは任意のオブジェクトです.String data="I am a string to be prepared";私たちは今、このデータをObservableという人に渡しています.
Observable.just(data)
        .subscribe(new Consumer() {
            @Override
            public void accept(String s) throws Exception {
                Log.i(s);
            }
        });

出力結果は:I am a string to be preparedここで、RxJavaの最初のオペレータjustを見て、他のオペレータについて、次の文章で紹介します.これはObservableの静的な方法で、データを観察者に渡して作成します.この被観察者があれば操作できます.続いて、被観察者に消費者を購読させました.いや!消費者を作成し、観察者に渡すべきだ.消費者の受信方法でデータを操作する.ここでは最終的にそのまま出力します.Consumerは1つの方法しかないインタフェースなので、lamdba式を使うのに慣れている場合はもっと簡単です(android studioではlamdbaを使うことができますが、使うだけでコードをもっと簡単にすることができます).最終:
String data="I am a string to be prepared";
Observable.just(data)
        .subscribe(str->Log.i(str));

これで、簡単な流れでこのようにしてはいけません.
次の記事では、RxJavaでよく使われるオペレータについて説明しますが、実はRxの使用は、多くのオペレータの中で最終的に私たちが望んでいる結果になるまで変換されます.