gradle:
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' package com.itant.rxtest; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.widget.Toast; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Observable<String> observable=Observable.create(new ObservableOnSubscribe<String>() { @Override //将事件发射出去,持有观察者的对象 public void subscribe(ObservableEmitter<String> e) throws Exception { try { Thread.sleep(10000); } catch (Exception ee) { } e.onNext("第一次调用"); try { Thread.sleep(10000); } catch (Exception ee) { } e.onNext("第二次调用"); try { Thread.sleep(10000); } catch (Exception ee) { } e.onNext("第三次调用"); e.onComplete(); } }); observable.observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Observer<String>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(String value) { Toast.makeText(MainActivity.this, value, Toast.LENGTH_SHORT).show(); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); } }