首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于RxJava的基础心法解析

    2017年Kotlin语言Google举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言,所以自己又看了看了Kotlin语言。...读完本篇文章希望所有读者能明白RxJava的观察者与java的观察者模式有什么不同,以及Rxjava的观察者模式的代码运行过程。至于怎么具体的使用 Rxjava 那么就需要更多学习和实践了。...RxJava的观察者模式 可观察者(被观察者):Observalbe 观察者:Observer 订阅操作:subscribe() 订阅:Subscription 订阅者:Subscriber ,实现 Observer...的版本已经更新到2了,我们现在还用的是版本1。...版本1中1.0和1.3这两个版本用的比较多。但这两个RxJava 版本之前改动不是很大,我们来分析分析最初始的版本,主要看看其中的设计思想啥的~!

    58310

    即学即用Kotlin - 协程

    Kotlin - 协程基础篇》 《抽丝剥茧Kotlin - 协程Flow篇》 目录 一、基础 1....除了 launch,还有一个方法跟它很像,就是 async,它的作用是创建一个协程,之后返回一个 Deferred对象,我们可以调用 Deferred#await()去获取返回的值,有点类似于 Java...: E/Flow: 1 emit E/Flow: 1 filter E/Flow: 1 map E/Flow: i get 1 money E/Flow: 2 emit E/Flow: 2 filter...,如果发射的是 Int,最终会得到一个 Int,可做累加操作 fold 规约,可以说是 reduce 的升级版,可以自定义返回类型 其他还有一些操作符,我这里就不一一介绍了,感兴趣可以查看 API。...接收数据 正常情况下,我们仅需要调用 Channel#receive() 获取数据,但是该方法只能获取一次传递的数据,如果我们仅需获取指定次数的数据,可以这么操作: repeat(4){ Log.e

    1.8K20

    【RxJava】ReactiveX 简介 ( ReactiveX 概念 | ReactiveX 组成部分 - 被观察者 观察者 操作符 调度器 订阅 | ReactiveX 支持语言 )

    一、RxJava 简介 1、ReactiveX 概念 RxJava 框架 是 ReactiveX ( Reactive Extensions 响应式编程扩展 ) 在 Java 语言 上的实现 , 该框架...2、ReactiveX 组成部分 - 被观察者 / 观察者 / 操作符 / 调度器 / 订阅 ReactiveX 组成部分 : Observable(被观察者): Observable 是 发送 消息...可以 应用于多种编程语言,如 Java、JavaScript、Swift、Kotlin 等,可以在 不同的平台 / 语言 中 使用 异步编程模型 和 操作符。...RxJava - Java 语言 RxSwift - Swift 语言 RxKotlin - Kotlin 语言 RxJS - JavaScript 语言 开发者 可以 在 不同的平台 / 不同语言 中...使用 异步编程模型 和 操作符,提高了代码 的 可复用性 和 可维护性 ;

    1.5K10

    快速进阶 Kotlin Flow:掌握异步开发技巧

    热流与冷流的区别 Kotlin Flow 中的热流和冷流是有关数据流传递方式的两种不同模式。 冷流 冷流是指每个订阅者都有自己的数据流。...Kotlin Flow 提供了几种不同的背压处理策略,以适应不同的情况。 1....RxJava 异步编程范式 Kotlin Flow 和 RxJava 都是用于实现异步编程的库,但它们在编程范式上有所不同。...RxJava 也有类似的概念,但在使用时需要特别注意避免潜在的内存泄漏和资源浪费。 线程调度 RxJava 和 Kotlin Flow 都提供了线程调度的机制,允许在不同线程中执行异步操作。...如果你需要丰富的背压处理策略来控制高频率事件流的流量,RxJava 提供了更多的选择。 如果你需要与其他基于 RxJava 的库集成,继续使用 RxJava 可能更加方便。

    1.9K30

    响应式编程|Kotlin与LiveData扩展函数实践技巧

    类是面向对象思想的主要工作单元。 面向对象的编程概念取得了巨大成功,几乎可以解决所有问题。但是,有些时候面向对象的程序却显得乏力。 ---- 1. 一个简单的例子(Example) ?...不同于面向对象的设计思想,在响应式编程的思想里,最基础的概念是 流(stream) 。从流的角度,反应性地思考和设计代码。...如果我们基于响应式编程的思想去开发这个程序,比如使用RxJava,继续完善这个例子: 构建一个关系“服务器返回的数据*2,再显示到界面上”: ?...基于这个方法,我们可以给LiveData添加观察者,打通了最难的一步。很妙的是观察者本身也是LiveData类型,这样我们就可以实现链式观察者的程序。 例如最基础的map操作符: ?...重构播放页,一方面是为了提高播放页的可维护性、可扩展性,另一方面是为了尝试最新的Kotlin语言特性与[《Jetpack应用架构指南》](https://developer.android.google.cn

    1.9K10

    诡异了,AtomicInteger 在 Kotlin 里面居然是 Abstract 的?

    1....(https://github.com/square/retrofit/blob/master/retrofit-adapters/rxjava/src/main/java/retrofit2/adapter...这错误报的虽然是说没有实现 toByte 方法,可仔细观察一下就会发现,没实现的方法居然还有 toShort 和 toChar。。 2....解密时刻 我之前很早的时候就写过一篇文章 为什么不直接使用 Array 而是 IntArray ? 提到了 Kotlin 类型到 Java 类型的映射问题,这里我们其实也是遇到了相同的问题。...小结 经过上面的讨论,我们知道了 Kotlin 和 Java 之间存在各式各样的类型和方法的映射,为了兼容 Java 而又保持自己独特的风格,Kotlin 显然不得不这样做,相比其他语言,它也是做得比较不错的

    86810

    Android RxJava应用:网络请求出错重连(结合Retrofit)

    Carson带你学RxJava系列文章,包括 原理、操作符、应用场景、背压等等,请看文章:Android:这是一份全面 & 详细的RxJava学习指南 目录 1. 需求场景 2....本实例侧重于说明 RxJava 的轮询需求,关于Retrofit的使用请看文章:这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解) 3.2 步骤实现 步骤1: 添加依赖 a....compile 'com.squareup.retrofit2:retrofit:2.1.0' // 衔接 Retrofit & RxJava // 此处一定要注意使用RxJava2的版本 compile...I/O异常,则不重试 // 通过返回的Observable发送的事件 = Error事件 实现(可在观察者的onError()中获取信息)...Demo地址 Carson_Ho的Github地址 = RxJava2实战系列:出错重连 5.

    1.8K20

    RxJava2.x 操作符之 compose

    题图:来自飞哥的图片工厂 音乐推荐:后来 文丨IT大飞说 预计阅读时间:2.3 分钟 哈喽,朋友们,之前我们学习了一些 RxJava2.x 的常用操作符,今天我们来继续学习一下 RxJava 的...compose 操作符能够从数据流中得到原始的被观察者,当创建被观察者时,compose 操作符会立即执行,而不像其他的操作符需要在 onNext() 调用后才能执行。...io.reactivex.schedulers.Schedulers import java.util.concurrent.TimeUnit /** * Created by x-sir on 2019-06-02 :) * Function:RxJava2...(假设网络请求返回的是Flowable 对象): .compose(RxThreadUtils.flowableToMain()) 使用场景二 compose 操作符可以和 Transformer 结合使用...RxLifecycle 是 trello 开源的一个配置 RxJava 使用的开源库,我们知道 RxJava 有个缺点就是会导致内存泄露,此时,RxLifecycle 横空出世了,它可以配合 RxJava

    2.7K10

    Android实现异步的几种方式——从简单的图片加载说起

    AsyncTask定义了三种泛型类型 Params,Progress和Result。 doInBackground(Params…) 后台执行,比较耗时的操作都可以放在这里。注意这里不能直接操作UI。...此方法在主线程执行,任务执行的结果作为此方法的参数返回。 这种方式使用了线程池+Handler实现,较好得管理分配资源,还可以拿到进度回调,有较高的拓展性。...} }); 使用Observable.create创建Observable,在call方法中进行耗时操作,执行完成后发送消息,在观察者中的...使用RxJava的好处是很轻松得实现线程切换,还可以指定线程,有异常捕获机制。但对于不熟悉RxJava的朋友来说会有些… Kotlin协程 最后要安利一个非常酷炫的方式,那就是Kotlin协程。...越来越多的公司和项目开始使用Kotlin编码,毕竟Kotlin得到了谷歌爸爸的支持,而且Kotlin的优秀语言特性,使得它受到开发者的广泛欢迎。 今天介绍Kotlin的一个概念,叫做协程。

    1.8K61

    RxHttp ,比Retrofit 更优雅的协程体验

    ] } } dependencies { //rxjava2 (RxJava2/Rxjava3二选一,使用asXxx方法时必须) implementation 'io.reactivex.rxjava2...2、RxHttp 协程使用 ============= 2.1、请求三部曲 用过RxHttp的同学知道,RxHttp发送任意请求皆遵循请求三部曲,如下: [1.jpg] 代码表示 //Kotlin 协程...//第一步,确定请求方式,可以选择postForm、postJson等方法 .toStr() //第二步,确认返回类型,这里代表返回String类型 .await() //第三步...,内部根据传入的RxJava版本,生成不同的代码,这样就可做到一套代码同时兼通RxJava2和RxJava3,如果后续出了RxJava4、RxJava5等新版本,一样可以兼容,而且非常简单。...同时兼容RxJava、OkHttp不同版本,这就是APT带给RxHttp的第一大优势。 RxHttp是如何使用APT?

    2.6K20

    RxJava的Single、Completable以及Maybe

    Maybe tomorrow.jpeg 通常情况下,如果我们想要使用 RxJava 首先会想到的是使用Observable,如果要考虑到Backpressure的情况,在 RxJava2.x 时代我们会使用...除了Observable和Flowable之外,在 RxJava2.x 中还有三种类型的Observables:Single、Completable、Maybe。...打印结果如下: 1 2 3 4 5 6 7 8 9 10 在Completable中,andThen有多个重载的方法,正好对应了五种被观察者的类型。...下面的网络请求,最初返回的类型是Flowable,但是这个网络请求并不是一个连续事件流,我们只会发起一次 Post 请求返回数据并且只收到一个事件。...获取内容的response.jpeg 总结 RxJava 有五种不同类型的被观察者,合理地使用它们能够写出更简洁优雅的代码。

    2.8K31

    Android RxJava:一步步带你源码分析 RxJava

    ---- 1. RxJava简介 此处简单介绍RxJava ? 若还不了解RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程 ---- 2....订阅流程 的使用 2.1 使用步骤 RxJava的订阅流程 使用方式 = 基于事件流的链式调用,具体步骤如下: 步骤1:创建被观察者(Observable)& 定义需发送的事件 步骤2:创建观察者(...源码分析 下面,我将根据 使用步骤 进行RxJava的源码分析: 步骤1:创建被观察者(Observable)& 定义需发送的事件 步骤2:创建观察者(Observer) & 定义响应事件的行为...步骤3:通过订阅(subscribe)连接观察者和被观察者 步骤1:创建被观察者(Observable)& 定义需发送的事件 源码分析如下 /** * 使用步骤1:创建被观察者(Observable...源码总结 在步骤1(创建被观察者(Observable))、步骤2(创建观察者(Observer))时,仅仅只是定义了发送的事件 & 响应事件的行为; 只有在步骤3(订阅时),才开始发送事件 & 响应事件

    74310
    领券