Android RxJava 2の使い方just、from、map、subscribe、flatmap、Flowable、Function、Consumer…
4492 ワード
まずRxJavaの用途と価値を簡単に話します
用途:非同期(つまりオープンスレッドジャンプ)価値:複雑な論理に直面しても簡潔で、コードが読みやすい
RxJava 2とRxJavaの最大の違いはFlowableで、このFlowableはRxjavaの中の
簡単な使用:
次のコードを示します.
これがRxJava 2の最も簡単な使用です.
fromArrayメソッド:
配列パラメータが入力されます.パラメータをFlowableに注入する.いいえ、ありません.配列を伝えるだけだ.
justメソッド:
同じパラメータをいくつか入力、Flowableにパラメータを注入する.いいえ、ありません.1つ以上のパラメータが入力だけである.fromArray()の役割と同じです.パラメータを渡す!!!
mapメソッド:
map()の方法も、よく理解できます.1.Flowableがパラメータを渡す後2.次にmap()3を呼び出す.map()のコールバックでは、伝達するパラメータを直接取得することができ、戻り値を返す必要がある.プログラムの後続操作で使用する.4.パラメータは変換、パラメータと戻り値の種類を任意に操作することができる.Functionによる汎用制御5.Function汎用型の1つ目は伝達されたパラメータで,2つ目は戻り値のタイプである.
その価値:主にデータを処理するためです.処理後に次のレベルに送信
flatMapメソッド:
flatMap()とmap()の作用用法はすべて同じである.唯一の違いは、戻り値のタイプである.flatMapが戻ってきたのはFlowableが実際にPublisherで、FlowableはPublisherの実装クラスなので、現在戻ってきたふりをしているのはFlowableタイプです
その価値:個人的には、サイクルを少なく書くことだと思います.往々にしてflatMap、戻るFlowableは、fromArray()で構成されたオブジェクトであるからである.意味はforループを書くことを少なくすることです.
subscribeメソッド:
subscribe()メソッドはConsumerオブジェクトを転送する.この対象の公式の言い方は被観察者だ.個人的には、一連の非同期操作の後、UIを再現する操作であると理解する.acceptメソッドにUIを表示するコードを書き返します.
subscribeOnメソッド:
subscribeOn()は、指定するために使用されるSchedulerオブジェクトを送信する.一連の動作は、どのスレッドで一般的なサブスレッドを実行するもよい.
ObserveOnメソッド:
observeOn()は、subscribeOnと同様にスレッドを指定するために使用するSchedulerオブジェクトでもある.ただし、それらの違いは、subscribeOn()が、一連の操作がどのスレッドでobserveOn()を実行するかを指定するsubscribeのコールバックがどのスレッドで実行されるかを指定することである.一般にsubscribeOn()サブスレッド実行observeOn()メインスレッド実行
外来資料の簡単な展示:
1.Observableはデータの送信者であり、外部にデータを送信し、map、flatmap**などのデータ処理を経て、最終的に**Observerに渡され、このデータ受信者である.従って、中間データ処理を抜きにして、Observableがデータを対外的に送信することは、データストリームの始まりであることがわかる.Observerはデータを受信し、データストリームの末端である.
RxJavaの簡単な使い方は、まずここに書いて、何か質問があれば、コメントエリアの伝言を歓迎します.私は会の第1時間の補充を見ることができます.参考までに、読んでくれてありがとう!
用途:非同期(つまりオープンスレッドジャンプ)価値:複雑な論理に直面しても簡潔で、コードが読みやすい
RxJava 2とRxJavaの最大の違いはFlowableで、このFlowableはRxjavaの中の
簡単な使用:
次のコードを示します.
Flowable
.fromArray(weeks)
.map(new Function() {
@Override
public String apply(String s) throws Exception {
print("fromFlowable map s = " + s);
return "111";
}
})
.flatMap(new Function>() {
@Override
public Flowable apply(String s) throws Exception {
print("fromFlowable flatMap s = " + s);
String[] strs = new String[]{"222", "333", "444"};
return Flowable.fromArray(strs);
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer() {
@Override
public void accept(String s) throws Exception {
print("fromFlowable subscribe s = " + s);
}
});
Flowable
.just(" ", " ", " ", " ", " ", " ", " ")
.subscribe(new Consumer() {
@Override
public void accept(String s) throws Exception {
print("jsutFlowable subscribe s = " + s);
}
});
これがRxJava 2の最も簡単な使用です.
fromArrayメソッド:
配列パラメータが入力されます.パラメータをFlowableに注入する.いいえ、ありません.配列を伝えるだけだ.
justメソッド:
同じパラメータをいくつか入力、Flowableにパラメータを注入する.いいえ、ありません.1つ以上のパラメータが入力だけである.fromArray()の役割と同じです.パラメータを渡す!!!
mapメソッド:
map()の方法も、よく理解できます.1.Flowableがパラメータを渡す後2.次にmap()3を呼び出す.map()のコールバックでは、伝達するパラメータを直接取得することができ、戻り値を返す必要がある.プログラムの後続操作で使用する.4.パラメータは変換、パラメータと戻り値の種類を任意に操作することができる.Functionによる汎用制御5.Function汎用型の1つ目は伝達されたパラメータで,2つ目は戻り値のタイプである.
その価値:主にデータを処理するためです.処理後に次のレベルに送信
flatMapメソッド:
flatMap()とmap()の作用用法はすべて同じである.唯一の違いは、戻り値のタイプである.flatMapが戻ってきたのはFlowableが実際にPublisherで、FlowableはPublisherの実装クラスなので、現在戻ってきたふりをしているのはFlowableタイプです
その価値:個人的には、サイクルを少なく書くことだと思います.往々にしてflatMap、戻るFlowableは、fromArray()で構成されたオブジェクトであるからである.意味はforループを書くことを少なくすることです.
subscribeメソッド:
subscribe()メソッドはConsumerオブジェクトを転送する.この対象の公式の言い方は被観察者だ.個人的には、一連の非同期操作の後、UIを再現する操作であると理解する.acceptメソッドにUIを表示するコードを書き返します.
subscribeOnメソッド:
subscribeOn()は、指定するために使用されるSchedulerオブジェクトを送信する.一連の動作は、どのスレッドで一般的なサブスレッドを実行するもよい.
ObserveOnメソッド:
observeOn()は、subscribeOnと同様にスレッドを指定するために使用するSchedulerオブジェクトでもある.ただし、それらの違いは、subscribeOn()が、一連の操作がどのスレッドでobserveOn()を実行するかを指定するsubscribeのコールバックがどのスレッドで実行されるかを指定することである.一般にsubscribeOn()サブスレッド実行observeOn()メインスレッド実行
外来資料の簡単な展示:
1.Observableはデータの送信者であり、外部にデータを送信し、map、flatmap**などのデータ処理を経て、最終的に**Observerに渡され、このデータ受信者である.従って、中間データ処理を抜きにして、Observableがデータを対外的に送信することは、データストリームの始まりであることがわかる.Observerはデータを受信し、データストリームの末端である.
RxJavaの簡単な使い方は、まずここに書いて、何か質問があれば、コメントエリアの伝言を歓迎します.私は会の第1時間の補充を見ることができます.参考までに、読んでくれてありがとう!