首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 中 RxJava 的使用

前言 Android原生的多线程和异步处理简直糟透了,反复的嵌套让代码看起来十分不明了,多线程上也没有iOS的dispatch好用,但是用了Rxjava后就会有所改善,虽然代码量看起来会多一点,但是逻辑就清晰多了...在事件处理过程中出异常时,onError() 会被触发,同时队列自动终止,不允许再有事件发出。...在一个正确运行的事件序列中, onCompleted() 和 onError() 有且只有一个,并且是事件序列中的最后一个。..., io.reactivex.subjects.ReplaySubject, io.reactivex.subjects.UnicastSubject 在RxJava2中依然存在,但现在他们不支持backpressure...那我们只会接受到错误 而不是错误的前一个事件 ​ Android中应用 添加依赖 implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' implementation

2.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Android】RxJava的使用(二)Action

    回顾 在上一节Android RxJava的使用(一)基本用法中,介绍了RxJava的基本用法。下面来回顾下实现一次RxJava的基本使用。...RxJava源码 还以为有多高深,原来就是把Action对象转化成对应的Subscriber对象了。这样就不难理解为什么可以使用Action来代替Subscriber了。...不过就目前来看RxJava还是没有什么优势值得我们去使用,下一篇我还会介绍更多RxJava的用法。慢慢得,你就会发现使用RxJava写出来的代码看上去真的很漂亮。...更多: 更多: Android RxJava的使用(三)转换(map、flatMap) Android RxJava的使用(四)线程控制 —— Scheduler 以上有错误之处感谢指出 参考...:给 Android 开发者的 RxJava 详解 (本文部分内容引用自该博客)

    96360

    【Android】RxJava的使用(一)基本用法

    前言 最近经常看到RxJava这个字眼,也看到很多人在博客中推荐使用RxJava。...切莫着急,随着慢慢深入就能体会到RxJava带来的方便了) 参考:给 Android 开发者的 RxJava 详解 (本文部分内容引用自该博客) 介绍 在GitHub主页上的介绍: a library...; } }; 不仅基本使用方式一样,实质上,在 RxJava 的 subscribe 过程中,Observer也总是会先被转换成一个Subscriber再使用。如图: ?...后面的几篇我会介绍RxJava的其他功能,还有一些复杂的嵌套关系的处理,到时候知道RxJava的强大之处了) 更多: Android RxJava的使用(二)Action Android RxJava...的使用(三)转换(map、flatMap) Android RxJava的使用(四)线程控制 —— Scheduler 以上有错误之处感谢指出

    1.2K70

    Transformer 在RxJava中的使用

    早在 RxJava1.x 版本就有了Observable.Transformer、Single.Transformer和Completable.Transformer,在2.x版本中变成了ObservableTransformer...其实,在大名鼎鼎的图片加载框架 Glide 以及 Picasso 中也有类似的transform概念,能够将图形进行变换。...RxLifecycle中的LifecycleTransformer trello出品的RxLifecycle能够配合Android的生命周期,防止App内存泄漏,其中就使用了LifecycleTransformer....... } 如果你想在RxJava的链式调用中也使用缓存,还可以考虑使用transformer的方式,下面我写了一个简单的方法 /** * Created by Tony Shen on...追踪RxJava的使用 初学者可能会对RxJava内部的数据流向会感到困惑,所以我写了一个类用于追踪RxJava的使用,对于调试代码还蛮有帮助的。

    7.8K20

    Android RxJava实际应用案例讲解:使用RxJava的最佳开发场景

    前言 Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。...如果还不了解RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程 今天,我将为大家带来 Rxjava的的基本使用 & 实际应用案例教学,即常见开发应用场景实现 ,...基本使用 Rxjava的使用方式有两种: 方式1:分步骤实现 方式2:基于事件流的链式调用 具体使用 请看文章Android RxJava:面向初学者的RxJava使用指南 3....中的变换操作符FlatMap()实现嵌套网络请求 具体实现 Android RxJava 实际应用讲解:网络请求嵌套回调 3.5 从磁盘 / 内存缓存中 获取缓存数据 需求场景 功能说明...对于从磁盘 / 内存缓存中 获取缓存数据 的功能逻辑如下: 具体实现 Android RxJava 实际应用讲解:从磁盘 / 内存缓存中 获取缓存数据 3.6 合并数据源 需求场景 功能说明

    1.4K50

    不可错过的几款GitHub开源项目

    https://github.com/Bilibili/boxing 4.MinimalistWeather MinimalistWeather 是 Android 平台上一款开源天气 App ,目前还在开发中...在实际项目中的应用,MVP中RxJava生命周期的管理…; 上述罗列的各种开源框架的使用方法; Java8 Lambda表达式和Stream API的用法; 怎样适配Material Design; ToolBar...使用Material Design控件和动画 使用MVP架构整个项目,对应于model、ui、presenter三个包 使用Realm做阅读记录和收藏记录的增、删、查、改 使用Glide做图片的处理和加载...+ Dagger2 + Realm + Glide。...对应于model、ui、presenter三个包 使用Dagger2将M层注入P层,将P层注入V层,无需new,直接调用对象 使用Realm做阅读记录和收藏记录的增、删、查、改 使用Glide做图片的处理和加载

    1.9K20

    NowView——站酷、MONO、知乎等图文精选AppNowView 4.1

    NowView 4.1 GitHub Jsoup + MaterialViewPager + RxJava2 + Retrofit + Lifecycle + Realm + Fresco + Retrolambda...一款Android图文精选app,通过抓取网页获得图文列表。...[x] 添加MONO模块 [ ] 添加Dribbble模块 [ ] Gank模块进行网络缓存 [ ] Web详情页支持图片点击后显示大图 [ ] 长按图片支持GIF保存 [ ] Realm数据库实体类更改或增加支持...NowView 2.0 -> 3.1 RxJava升级为RxJava2,优化主页数据获取逻辑; Realm升级,兼容先前数据; 优化并加强共享元素动画; 大图模式下长按屏幕可保存图片,统一使用Glide...2.0 更新日志 将Other移至左侧Drawer; 使用RxBinding 处理点击事件; 将App中所用到的SharedPreferences整个成一个帮助类; 顶部图片选择逻辑完善; 包结构改动。

    72110

    【Android】RxJava的使用(四)线程控制 —— Scheduler

    (对RxJava还不了解的可以出门左拐) 之前的代码中,事件的发起和消费都是在同一个线程中执行,也就是说之前我们使用的RxJava是同步的~~~ 观察者模式本身的目的不就是后台处理,将处理结果回调给前台...所以,这篇为大家介绍RxJava的重要的概念——Scheduler 参考:给 Android 开发者的 RxJava 详解 (本文部分内容引用自该博客) 介绍 RxJava在不指定线程的情况下,...是否可以实现发起的线程在新线程中,map的处理在IO线程,最后的消费在主线程中。...也就是说,map的处理和最后的消费事件show(s)都会在io线程中执行。 observeOn()可以多次使用,可以随意变换线程 小结 学会线程控制后才算是真正学会了使用RxJava。...RxJava的使用十分灵活,想要对其熟悉使用只有一个办法,那就是多用啦,熟能生巧。 以上有错误之处感谢指出 参考:给 Android 开发者的 RxJava 详解 (本文部分内容引用自该博客)

    714120

    Android RxJava:这是一份面向初学者的RxJava使用指南

    前言 Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。 ?...本系列文章主要基于 Rxjava 2.0 接下来的时间,我将持续推出 Android中 Rxjava 2.0 的一系列文章,包括原理、操作符、应用场景、背压等等 ,有兴趣可以继续关注Carson_Ho...(实质上,在RxJava的 subscribe 过程中,Observer总是会先被转换成Subscriber再使用) // 不同点:Subscriber抽象类对 Observer 接口进行了扩展,新增了两个方法...subscribe() 方法执行时 } 2.2 方式2:优雅的实现方法 - 基于事件流的链式调用 上述的实现方式是为了说明Rxjava的原理 & 使用 在实际应用中,会将上述步骤&代码连在一起,从而更加简洁...总结 本文主要讲解 Rxjava 的基础使用,更多实例应用请看文章:Android RxJava实际应用教学:你该什么时候使用RxJava?

    44950

    15 个 Android 通用流行框架大全

    Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库 3....ORM解决方案 ActiveAndroid 以活动记录方式为Android SQLite提供持久化 SQLBrite SQLiteOpenHelper 和ContentResolver的轻量级包装 Realm...响应式编程 名称 描述 RxJava JVM上的响应式扩展 RxJavaJoins 为RxJava提供Joins操作 RxAndroid Android上的响应式扩展,在RxJava基础上添加了Android...线程调度 RxBinding 提供用RxJava绑定Android UI的API Agera Android上的响应式编程 12....Log框架 名称 描述 Logger 简单,漂亮,强大的Android日志工具 Hugo 在调试版本上注解的触发方法进行日志记录 Timber 一个小的,可扩展的日志工具 13.

    1.3K20

    15 个 Android 通用流行框架大全

    Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库 3 图片处理 名称 描述 Picasso-transformations...Realm 移动数据库:一个SQLite和ORM的替换品 7 依赖注入 名称 描述 ButterKnife 将Android视图和回调方法绑定到字段和方法上 Dagger2 一个Android和java...11 响应式编程 名称 描述 RxJava JVM上的响应式扩展 RxJavaJoins 为RxJava提供Joins操作 RxAndroid Android上的响应式扩展,在RxJava基础上添加了...Android线程调度 RxBinding 提供用RxJava绑定Android UI的API Agera Android上的响应式编程 12 Log框架 名称 描述 Logger 简单,漂亮,强大的...Android日志工具 Hugo 在调试版本上注解的触发方法进行日志记录 Timber 一个小的,可扩展的日志工具 13 测试框架 名称 描述 Mockito Java编写的Mocking单元测试框架

    1.5K60

    Android通用流行框架汇总

    Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库 ---- 3....ORM解决方案 ActiveAndroid 以活动记录方式为Android SQLite提供持久化 SQLBrite SQLiteOpenHelper 和ContentResolver的轻量级包装 Realm...响应式编程 名称 描述 RxJava JVM上的响应式扩展 RxJavaJoins 为RxJava提供Joins操作 RxAndroid Android上的响应式扩展,在RxJava基础上添加了Android...线程调度 RxBinding 提供用RxJava绑定Android UI的API Agera Android上的响应式编程 ---- 12....Log框架 名称 描述 Logger 简单,漂亮,强大的Android日志工具 Hugo 在调试版本上注解的触发方法进行日志记录 Timber 一个小的,可扩展的日志工具 ---- 13.

    96730
    领券