一、创建
Observable,
Observer ,建立连接observable.subscribe(observer);
1、添加依赖
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
private String TAG="MainActivity";
@Override
protected void
onCreate
(
Bundle savedInstanceState
) {
super.
onCreate
(
savedInstanceState
)
;
setContentView
(
R.layout
.
activity_main
)
;
Observable
<
Integer
>
observable
=
Observable
.
create
(
new
ObservableOnSubscribe
<
Integer
>
() {
@Override
public void
subscribe
(
ObservableEmitter
<
Integer
>
e
)
throws
Exception
{
e
.
onNext
(
1
)
;
e
.
onNext
(
2
)
;
e
.
onNext
(
3
)
;
e
.
onComplete
()
;
}
})
;
Observer
observer
=new
Observer
() {
@Override
public void
onSubscribe
(
Disposable d
) {
Log
.
e
(TAG
,
"onSubscribe"
)
;
}
@Override
public void
onNext
(
Object value
) {
Log
.
e
(TAG
,
"value:--"
+
value
)
;
}
@Override
public void
onError
(
Throwable e
) {
}
@Override
public void
onComplete
() {
Log
.
e
(TAG
,
"onComplete"
)
;
}
}
;
observable
.
subscribe
(observer)
;
}
二、执行顺序
08-06 10:17:54.468 14600-14600/chzy.org.rxjava E/MainActivity: onSubscribe
08-06 10:17:54.469 14600-14600/chzy.org.rxjava E/MainActivity: value:--1
08-06 10:17:54.469 14600-14600/chzy.org.rxjava E/MainActivity: value:--2
08-06 10:17:54.469 14600-14600/chzy.org.rxjava E/MainActivity: value:--3
08-06 10:17:54.469 14600-14600/chzy.org.rxjava E/MainActivity: onComplete
三、链式
Observable.create(new ObservableOnSubscribe<Integer>() {
@Override
public void subscribe(ObservableEmitter<Integer> e) throws Exception {
e.onNext(1);
e.onNext(2);
e.onNext(3);
e.onComplete();
}
}) .subscribe(new Observer<Integer>() {
@Override
public void onSubscribe(Disposable d) {
Log.e(TAG
,"onSubscribe");
}
@Override
public void onNext(Integer value) {
Log.e(TAG
,"value:--"+value);
}
@Override
public void onError(Throwable e) {
Log.e(TAG
,"onError");
}
@Override
public void onComplete() {
Log.e(TAG
,"onComplete");
}
});
转载请注明原文地址: https://www.6miu.com/read-44207.html