public class MainActivity extends AppCompatActivity { Observable<String> mObservable; Subscriber<String> mSubscriber; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mObservable= Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscriber) { subscriber.onNext("需要被消费的事件(注册了消费关系的Observable)"); //-->onNext(String s) int a = 1/0; //-->onError(Throwable e) 如果此方法执行,则onCompleted()不会被执行 subscriber.onCompleted(); //结束 -->onCompleted() } }); mSubscriber = new Subscriber<String>() { @Override public void onCompleted() { toast("Obsever onCompleted"); } @Override public void onError(Throwable e) { toast("onError:"+e.getMessage()); } @Override public void onNext(String s) { toast("onNext收到的信息:"+s); } }; } public void click(View v){ //建立订阅关系 mObservable.subscribe(mSubscriber); } public void toast(String s){ Toast.makeText(getApplicationContext(),s,Toast.LENGTH_SHORT).show(); } }
Rxjava基本用法
最新推荐文章于 2023-05-16 12:55:26 发布