【Kotlin/Android/RxJava】subscribeメソッドの使い方!subscribeByとの違い

この記事からわかること
- Android Studio/KotlinでRxJavaの使い方
- subscribeメソッドの使い方
- subscribeByとの違い
- Observableオブジェクトを観測する方法
\ アプリをリリースしました /
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
subscribeメソッドとは?
RxJavaのsubscribe
はObservableオブジェクトを購読してそのObservableオブジェクトから発行されるイベントを処理するためのメソッドです。返り値はDisposable
型になっておりDisposable.dispose
メソッドを使用して観測中のObservableオブジェクトの購読を停止させることができます。
引数の中でObservableオブジェクトから発行されるイベントを取得することができ、それぞれのイベントに対して処理を分岐させることが可能です。onNext
とonError
では流れてきたデータやエラーを引数で受け取ることができます。例えば以下の場合変数data
に流れてきたデータが格納されている状態になります。onComplete
は流れてくるデータがないので引数は不要です。
記法の種類
subscribe
メソッドの引数の記法はいくつかあり、かつ正しい記法で書かないとエラーになるのでここで一旦まとめておきます。
ラムダ式
引数からデータやエラーを取得できる
引数名省略ラムダ式
関数リファレンス
この場合はそれぞれ関数を用意しておきます。
必要なイベントのみ
subscribeByの使い方と違い
RxJavaをKotlinで使用する上では扱いやすい拡張機能の入ったRxKotlinを導入しておくことで使えるようになるのがsubscribeBy
メソッドです。先に紹介したsubscribe
メソッドでは名前付き引数で指定することができず、ラムダを順番通りに配置するしかありません。これを解消できるのがsubscribeBy
メソッドです。以下のように明示的に引数名を指定して記述することができるので順番を変えても正常に動作します。
名前付き引数バージョン
↓順番を入れ替えた。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。