初心者用kotlin

kotlinのメモです。

1653 views

生産者を意味するのがFlowable。
購読者を意味するのがsubscribe。

プロトコル 説明
onSubscribe 通知の準備ができたことの通知
onNext データの通知
onError エラー(異常終了)の通知
onComplete 完了(正常終了)の通知
インターフェース 説明
Publisher データを生産し通知する役割りを持つインターフェース
Subscriber 通知されたデータを受け取り処理を行うインターフェース
SubScription データ数のリクエストおよび購読の解除を行えるインターフェース
Processor PublisherとSubscriberの両方の性質を持つインターフェース

Subscriptionの処理がSubscriberの外部から呼ばれない前提で行っているためできる実装。
外部から購読解除を行うような仕組みを提供している場合は、Subscriptionが非同期で呼ばれても問題ないようにする必要がある。

ProcessorはReactiveStreamsにだけあるインターフェース。

生産者 消費者
Streams対応あり Flowable Subscriber
Streams対応なし Observable Observer

Stream対応なしの場合、バックプレッシャーの機能がなく、データ数のリクエストは行わない
また、Subscriptionは使わず、Disposableという購読解除のメソッドを持つインターフェースを使います。

メソッド 説明
dispose() 購読を解除する
isDisposed() 購読を解除している場合はtrue、解除していない場合はfalseを返す

オペレーター

RxJavaでは生産者(observer)が通知したデータが消費者(Subscriber)に届くまでに、不要なデータを破棄したり、データを消費者で使いやすいように変換したりと通知のデータを操作することがある。
この際に使用するメソッドはObservableのメソッドから新たなObservableヲ返す作りになっており、このメソッドをつなげていくことで、最終的なデータを通知するObserbableを生成する。
ようするにメソッドチェーン。

非同期処理

RxJavaはデータを通知する側の処理ハンチとデータを受け取る側の処理範囲を分断できる設計になっているっために、それぞれの処理を別スレッドで行えるようになっている。
Rxjavaでは、開発者が直接スレッドを管理しなくても良いように、書く処理の用途に合ったスレッド管理を行うSchedulerを用意している。

Completable

Completableはデータを通知することなく完了を通知するか、もしくはエラーを通知するクラス。
DBのレコードのインサートや更新などに使う。

Single

emitterのonSuccessを呼ぶと一回だけObserver(Subscriber)のonSuccessが呼ばれます。(itemが一個だけemitされます。)複数回onSuccessを呼んでも一回だけしか呼ばれません。
onCompleteメソッドはないです。
つまり、onSuccessは引数が必要なので、何もアイテムを流さずにonCompleteメソッドを呼んだりできません。

fromCallable

fromCallbleメソッドを使って呼び出されるとシステム時間を取得するCallableからデータを取得し、それを通知する。

Page 17 of 36.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

マッスル

自己紹介

本サイトの作成者。
趣味:プログラム/水耕栽培/仮想通貨/激辛好き
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
仮想通貨はNEMが好き。
水耕栽培は激辛好きが高じて、キャロライナ・リーパーの栽培にチャレンジ中。

サイト/ブログ

https://www.osumoi-stdio.com/pyarticle/

ツイッター

@darkimpact0626