Professional Documents
Culture Documents
LK 7 - PSI - One Octadion - 215150209111010
LK 7 - PSI - One Octadion - 215150209111010
NIM: 215150209111010
Observable
1. Observable dengan satu item
Main.kt
1 import io.reactivex.rxjava3.core.Observable
Screenshot:
Main.kt
1 import io.reactivex.rxjava3.core.Observable
Screenshot:
3. Contoh lain Observable dengan > 1 item
Main.kt
1 import io.reactivex.rxjava3.core.Observable
Screenshot:
Main.kt
1 import io.reactivex.rxjava3.core.Observable
Screenshot:
5. Observable dengan never
Main.kt
1 import io.reactivex.rxjava3.core.Observable
Screenshot:
6. Subscribe ke Observable
Main.kt
1 import io.reactivex.rxjava3.core.Observable
2 import io.reactivex.rxjava3.kotlin.subscribeBy
3 fun main(args: Array<String>) {
4 val observableSatu: Observable<String> =
5 Observable.just("Satu")
val subsciberSatu = observableSatu.subscribe {
6
println(it)
7
}
8 observableSatu.subscribeBy(
9 onNext = { println("Next:"+it) },
10 onComplete = { println("selesai") }
)
11
12 val observableBanyak = Observable.just("Satu",
13 "Dua", "Lima")
14 val subscriberBanyak = observableBanyak.subscribe(){
15 println("Subscriber Banyak:"+it)
16 }
observableBanyak.subscribeBy(
17
onNext = { println("Next:"+it) },
18
onComplete = { println("selesai") }
19 )
20 }
Screenshot:
Main.kt
1 import io.reactivex.rxjava3.core.Observable
2 import io.reactivex.rxjava3.kotlin.subscribeBy
3 fun main(args: Array<String>) {
4 val observableSatu: Observable<String> =
5 Observable.just("Satu")
val subsciberSatu = observableSatu.subscribe {
6
println(it)
7
}
8 val subscription = observableSatu.subscribeBy(
9 onNext = { println(it) },
10 onComplete = { println("selesai") }
11 )
12 subscription.dispose()
13 }
Screenshot:
8. Composite Disposable
Main.kt
1 import io.reactivex.rxjava3.core.Observable
2 import io.reactivex.rxjava3.kotlin.subscribeBy
3 import
4 io.reactivex.rxjava3.disposables.CompositeDisposable
5 fun main(args: Array<String>) {
val observableSatu: Observable<String> =
6
Observable.just("Satu")
7
val observableBanyak = Observable.just("Satu",
8 "Dua", "Lima")
Screenshot:
9. Eksperimen dengan Create (1)
Main.kt
1 import io.reactivex.rxjava3.core.Observable
2 import io.reactivex.rxjava3.kotlin.subscribeBy
Screenshot:
Main.kt
1 import io.reactivex.rxjava3.core.Observable
2 import io.reactivex.rxjava3.kotlin.subscribeBy
Screenshot:
11. Eksperimen dengan Create (3)
Main.kt
1 import io.reactivex.rxjava3.core.Observable
2 import io.reactivex.rxjava3.kotlin.subscribeBy
Screenshot:
Main.kt
1 import io.reactivex.rxjava3.core.Observable
2 import io.reactivex.rxjava3.kotlin.subscribeBy
3 import
4 io.reactivex.rxjava3.disposables.CompositeDisposable
5
fun main(args: Array<String>) {
6
val disposable = CompositeDisposable()
7
var flip = false
8 val factory: Observable<Int> = Observable.defer{
9 flip = !flip
10 if(flip){
11 Observable.just(1,2,3)
12 } else {
Observable.just(4,5,6)
13
}
14
}
15 for(i in 1..3) {
16 disposable.add(
17 factory.subscribe {
18 println(it)
19 }
20 )
21 }
22 disposable.dispose()
23 }
Screenshot:
Main.kt
1 import io.reactivex.rxjava3.core.Observable
2 import io.reactivex.rxjava3.kotlin.subscribeBy
3 import java.io.File
4 import java.io.FileNotFoundException
5 import io.reactivex.rxjava3.core.Single
import
6
io.reactivex.rxjava3.disposables.CompositeDisposable
7
fun main(args: Array<String>) {
8 val subscriptions = CompositeDisposable()
9 fun loadText(filename: String): Single<String> {
10 return Single.create create@{ emitter ->
11 val file = File(filename)
12 if(!file.exists()) {
13
14 emitter.onError(FileNotFoundException("File tidak
15 ditemukan $filename"))
16 return@create
17 }
18 val contents = file.readText(Charsets.UTF_8)
emitter.onSuccess(contents)
19
20 }
21 }
22 val observer = loadText("baca.txt")
23 .subscribeBy(
24 onSuccess = { println(it) },
onError = { println("Error, $it") }
25
)
26
subscriptions.add(observer)
27 }
Screenshot: