欢迎使用优快云-markdown编辑器sfd

本文通过一个简单的示例介绍了RxJava2的基本用法,包括如何创建Observable、指定线程执行subscribeOn和observeOn方法,并在主线程中接收数据。

这段时间在学习 Rxjava 的过程中发现了一个比较好的国外博客,可以找到很多时下流行的框架和开发教程。具体网址如下
https://mindorks.com/blogs

本篇主要基于该博客的教程 RxJava 2 教程 了解下 RxJava 的基本用法。

RxJava 入门

  1. 第一步
    首先下载 github sample https://github.com/amitshekhariitbhu/RxJava2-Android-Samples
    导入 Android Studio 运行。

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 示例代码就出来了。可以,很强势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值