Skip to content

Instantly share code, notes, and snippets.

@SojiroNishimura
Created May 14, 2016 21:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SojiroNishimura/0b8c21e51d82c1708d8a7096629aeba3 to your computer and use it in GitHub Desktop.
Save SojiroNishimura/0b8c21e51d82c1708d8a7096629aeba3 to your computer and use it in GitHub Desktop.
RxJavaのObservable生成メソッドを試す
Integer[] array = {1, 2, 3};
Observable.just("Just created Observable").subscribe(str -> {
Log.d("AAA", str);
});
// → Just created Observable
Observable.just(1, 2, 3).subscribe(i -> {
Log.d("AAA", "just : " + String.valueOf(i));
});
// → just : 1
// → just : 2
// → just : 3
Observable.from(array).subscribe(i -> {
Log.d("AAA", "from : " + String.valueOf(i));
});
// → from : 1
// → from : 2
// → from : 3
Observable.range(0, 3).repeat(3).subscribe(i -> {
Log.d("AAA", "range + repeat : " + String.valueOf(i));
});
// → range + repeat : 0
// → range + repeat : 1
// → range + repeat : 2
// → range + repeat : 0
// → range + repeat : 1
// → range + repeat : 2
// → range + repeat : 0
// → range + repeat : 1
// → range + repeat : 2
Observable.create(subscriber -> {
Log.d("AAA", "create");
try {
if (!subscriber.isUnsubscribed()) {
Observable.range(1, 3).subscribe(i -> {
subscriber.onNext(i);
});
subscriber.onCompleted();
}
} catch (Throwable e) {
subscriber.onError(e);
}
}).subscribe(
i -> {
Log.d("AAA", "onNext : " + String.valueOf(i));
},
e -> {
Log.d("AAA", "onError");
e.printStackTrace();
},
() -> {
Log.d("AAA", "onCompleted");
}
);
// → create
// → onNext : 1
// → onNext : 2
// → onNext : 3
// → onCompleted
Observable.interval(1, TimeUnit.SECONDS).take(5).subscribe(i -> {
Log.d("AAA", "interval : " + String.valueOf(i));
});
// → interval : 0
// → interval : 1
// → interval : 2
// → interval : 3
// → interval : 4
Observable.timer(6, TimeUnit.SECONDS).subscribe(i -> {
Log.d("AAA", "timer : " + String.valueOf(i));
});
// → timer : 0
Observable.range(0, 3).publish().defer(() -> Observable.range(4, 3)).subscribe(i -> {
Log.d("AAA", "defer : " + String.valueOf(i));
});
// → defer : 4
// → defer : 5
// → defer : 6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment