kotlinのメモです。
1488 views
相変わらずrxkotlinの使い方に手こずる。
説明やサンプルを見ても、長くてよくわからないので短いサンプルを書いてみた。
import io.reactivex.subjects.PublishSubject
/*
PublishSubjectのサンプルプログラム
*/
fun main(args:Array<String>) {
val pub: PublishSubject<String> = PublishSubject.create()
pub.subscribe {
//自分でイベント取得
println(it)
}
pub.subscribe(){
//上の処理はこうも書ける
println(it)
}
//データを発行
pub.onNext("hello")
//データを発行
pub.onNext("world")
//sleepを入れておかないとmain関数が終わってしまう。
Thread.sleep(10*1000)
}
SubjectとはSubscriberとObservableの二つの機能を併せ持ったもの。
SubscriberにあるようなonNextやonError、onCompleteといったメソッドが使え、Observableのようにsubscribeメソッドを呼び出すことができる。
正直、勉強を始めたばかりでよくわかっていない。
間違えていたら教えてください。
サンプルを作って動かしてみた感じ、自分でイベントを発行(onNext)し、発行されたイベントを自分でキャッチできるもの?っぽい。
自信なし。
一応、説明を書くと、
8行目:PublishSubjectのインスタンス作成。
10行目~13行目:onNextで文字列が飛んで来たら、表示する購読関数を作成。
15行目~18行目:上に同じ。同じ関数をちょっと違う書き方で書いてみただけ。
20行目:onNext関数でhelloを送出。
23行目:onNext関数でworldを送出。
26行目:main関数を止めるために使っている。じゃないと、pub.subscribeが文字を受け取る前にプログラムが終了してしまう。
Page 20 of 36.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/