diff --git a/app/src/main/java/org/ntlab/developrx/JavaMainActivity.java b/app/src/main/java/org/ntlab/developrx/JavaMainActivity.java index bd93bbe..bce174b 100644 --- a/app/src/main/java/org/ntlab/developrx/JavaMainActivity.java +++ b/app/src/main/java/org/ntlab/developrx/JavaMainActivity.java @@ -19,5 +19,6 @@ findViewById(R.id.just_btn).setOnClickListener(view -> rxProcess.just()); findViewById(R.id.fromarray_btn).setOnClickListener(view -> rxProcess.fromArray()); findViewById(R.id.range_btn).setOnClickListener(view -> rxProcess.range()); + findViewById(R.id.interval_btn).setOnClickListener(view -> rxProcess.interval()); } } diff --git a/app/src/main/java/org/ntlab/developrx/JavaRxProcess.java b/app/src/main/java/org/ntlab/developrx/JavaRxProcess.java index 836ff8a..af1465e 100644 --- a/app/src/main/java/org/ntlab/developrx/JavaRxProcess.java +++ b/app/src/main/java/org/ntlab/developrx/JavaRxProcess.java @@ -4,6 +4,8 @@ import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; +import java.util.concurrent.TimeUnit; + import io.reactivex.BackpressureStrategy; import io.reactivex.Flowable; import io.reactivex.Observable; @@ -137,8 +139,19 @@ flowable.subscribe(new DebugSubscriber<>()); } + /** + * startから順にcount数のデータを通知する + */ public void range() { Flowable flowable = Flowable.range(10, 3); flowable.subscribe(new DebugSubscriber<>()); } + + /** + * 指定時間ごとに通知を送る + */ + public void interval() { + Flowable flowable = Flowable.interval(1000L, TimeUnit.MILLISECONDS).take(5); + flowable.subscribe(data -> System.out.println(ThreadUtil.getCurrentThreadName() + ": " + System.currentTimeMillis() + ": " + "data = " + data)); + } } diff --git a/app/src/main/res/layout/activity_main_java.xml b/app/src/main/res/layout/activity_main_java.xml index e131c63..bfe943e 100644 --- a/app/src/main/res/layout/activity_main_java.xml +++ b/app/src/main/res/layout/activity_main_java.xml @@ -49,6 +49,14 @@ android:text="range" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/fromarray_btn" /> + +