java singleresult方法_RxJava 第一篇 - Single使用及示例

本文提供了一种实战导向的RxJava Single入门教程,避开常见概念讲解,直接从"Single"和"just"开始。介绍了Single的创建、订阅、回调,以及compose、concat、create、error、flatMap、flatMapObservable、map、merge、mergeWith、subscribeOn等操作符的用法,帮助理解RxJava Single在异步处理中的应用。
摘要由CSDN通过智能技术生成

本文开始介绍RxJava的使用,和别的RxJava文章不同的地方在于我们直接从实战开始介绍,不讲那么多的花拳绣腿。好多RxJava启蒙文章都是你抄我我抄你,抄来抄去也就那么几个场景,换到自己的项目中还是不会使用RxJava,本文另辟蹊径实战讲解。

既然是另辟蹊径,那么肯定开场不能跟别人一样。什么Observable,什么Subscribe,什么Observe,什么Subscribe...这几个长得差不多的都是什么鬼?我们暂时统统不管,且请还没入门的小白同学们暂且忘记这些。我来告诉你们什么才是RxJava的启蒙。

简单入门

我们要知道的第一个概念叫做"Single",中文翻译叫一个或者单一的,也可以作为单身的意思,想必你就是单身吧....

第二个概念叫做"just",在RxJava中Single的just支持传入任意参数。使用方法如: Single.just(T value);

知道这段代码,就可以说RxJava你要入门了噢。你想想看我们为啥要用RxJava,主要是为了异步处理一些任务。通常情况的异步任务都是什么样子的呢?传入一些值,经过逻辑处理之后返回结果。

以上代码中的just(T value),可以看作是传入参数。

有了输入,如何输出呢?我们讲到了异步处理,那自然得有一个异步回调才行吧,这简直理所应当吧。所以这里介绍最重要的"subscribe"概念。有的同学会疑惑说“你不是说不讲subscribe的嘛”。嗯咳,不讲不行嘛,谁叫人家是最重要的“订阅概念”呢。我只是让你们学习之前先忘记那些让人混淆的概念,从新开始嘛。废话少说,看代码 Single.just(T value).subscribe();

例如: int addValue(int a, int b) { return a + b; } // ps:不管是否subscribe(),只要使用just(),addValue()都会执行 Single.just(addValue(1, 2)).subscribe();

异步任务知道如何执行了,那咱们该想办法拿到回调了! Single.just(addValue(1, 2)).subscribe(new SingleSubscriber() { @Override public void onSuccess(Integer value) { // value = 3 } @Override public void onError(Throwable error) {} });

这里我们使用一个叫SingleSubscriber的对象接收回调,作为入门只要记住就好了。其中onSuccess(T value)会接收just(T value)的传入值,当addValue()方法抛异常的时候会自动调用onError()。

通过以上的例子,我们学会了如何简单的传入参数,并且输出结果。但是这里我并不想误导大家,这里仅仅只是RxJava的开始,其中just()方法无论如何都只会在当前线程里执行。所以即使看上去有异步的过程,但其实这是个同步的过程!

Single高阶

接下来我们

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值