一、创建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);
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"); } });