这段时间在学习 Rxjava 的过程中发现了一个比较好的国外博客,可以找到很多时下流行的框架和开发教程。具体网址如下 https://mindorks.com/blogs
本篇主要基于该博客的教程 RxJava 2 教程 了解下 RxJava 的基本用法。
2.根据 sample 代码来到第一个简单示例界面(SimpleExampleActivity.class) 可以看到 doSomeWork() 方法内就是 RxJava 的基础用法了。
private void doSomeWork() { getObservable() // Run on a background thread .subscribeOn(Schedulers.io()) // Be notified on the main thread .observeOn(AndroidSchedulers.mainThread()) .subscribe(getObserver()); }这个例子将各个调用放在了各自的方法里面,其实都是一样的,现在将它还原成简单版本的。
private void doWork() { Observable.just("Cricket", "Football") .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<String>() { @Override public void onSubscribe(Disposable d) { Log.d(TAG, " onSubscribe : " + d.isDisposed()); } @Override public void onNext(String value) { Log.d(TAG, "id onNext " + android.os.Process.myTid()); textView.append(" onNext : value : " + value); textView.append(AppConstant.LINE_SEPARATOR); Log.d(TAG, " onNext : value : " + value); } @Override public void onError(Throwable e) { textView.append(" onError : " + e.getMessage()); textView.append(AppConstant.LINE_SEPARATOR); Log.d(TAG, " onError : " + e.getMessage()); } @Override public void onComplete() { Log.d(TAG, "id onComplete " + android.os.Process.myTid()); textView.append(" onComplete"); textView.append(AppConstant.LINE_SEPARATOR); Log.d(TAG, " onComplete"); } }); }好了,这里是发送两个字符串,然后接收并显示在 textview 上面(主线程)。先别管其他的,到这里我们第一个简单的 RxJava 示例代码就出来了。可以,很强势。