当然光讲MVVM显得有些空洞,因此本文还会附带上了解经常和它搭配使用的RxJava和Retrofit。 说明:MVVM是一种基于数据驱动的架构思想,在很多平台的开发中都有应用,比如ReactNative、小程序等,RxJava是一套基于操作流的异步框架,同样对很多平台都有支持。本文仅讨论在Android平台应用开发中的使用,其它平台也相似但可能存在些...
我们可以看到,RxJava链式调用后在终点能得到我们想要的结果,我们对Bitmap的两个操作以卡片形式加到了起点和终点的过程中,这就是RxJava的魅力之一。 了解RxJava大体的执行流程后,现在我们就从源码角度来解释整个框架内部逻辑是怎样运转的。 RxJava如何将事件逐步传递 首先我们先来看看这些操作符内部逻辑是什么样子的,这...
RxJava架构原理 简介 RxJava是对响应式扩展( Reactive Extensions,称之为ReactiveX)规范的Java 实现,该规范还有其他语言实现:RxJS、http://Rx.Net、RxScala、RxSwift等等(也即,ReactiveX 定义了规范,其他语言实现规范即可,所以我们这里学习RxJava的架构和设计思维,只需研究ReactiveX 即可)。RxJava是一个通过使用可观...
packagecom.crazymaker.demo.observerPattern;//省略import@Slf4jpublic class RxJavaObserverDemo { /** *演示RxJava中的Observer模式 */ @Test public void rxJavaBaseUse() { //被观察者(主题) Observable observable = Observable.create( new Action1<Emitter<String>>() { @Override public void call(Emit...
在rxjava中被观察者(Observable) / 观察者(Observer)的工作线程 = 创建自身的线程 即在安卓中如果被观察者(Observable) / 观察者(Obesrver)在主线程被创建那么它们也工作(发送事件 / 接收响应事件) 在主线程中 通过以下的例子观察被观察者Observable / 观察者Observer的工作线程: ...
rxjava3 single # 使用RxJava3实现Single## 介绍RxJava是一个用于构建基于事件流的异步和基于事件的程序的库。它遵循观察者模式,允许开发者使用可观察序列来编写异步、基于事件的程序。在本文中,我将介绍如何在RxJava3中实现Single。## Single概述Single是RxJava中的一个特殊类型,它表示只发射单个值或错误的Observab...
RxJava是ReactiveX的一种Java实现,用于建立可扩展、异步和事件驱动的应用程序。它基于观察者模式和迭代器模式,通过引入数据流的概念,使得在Java环境中处理异步操作和事件驱动的程序更加容易。RxJava的主要特点包括:异步编程:RxJava提供了一种异步编程的方式,可以将耗时的任务如网络请求、文件读写等放到后台线程执行...
RxJava示例 首先,在pom.xml中添加RxJava依赖: <dependency><groupId>io.reactivex.rxjava2</groupId><artifactId>rxjava</artifactId><version>2.2.21</version></dependency> 创建一个简单的RxJava示例: packagecn.juwatech.demo;importio.reactivex.Observable;importio.reactivex.Observer;importio.reactivex....
RxJava的简单使用 一、mavan的pom.xml中增加rxjava的依赖 这里我们用的是rxjava1.3.0,目前最新的已经更新到2了。 <dependency><groupId>io.reactivex</groupId><artifactId>rxjava</artifactId><version>1.3.0</version></dependency> 二、测试的用类 ...
一、RxJava操作符概述 RxJava中的操作符就是为了提供函数式的特性,函数式最大的好处就是使得数据处理简洁易懂。 操作符实质上就是RxJava函数式编程模式的体现,在上篇文章中,我详细阐述了RxJava中观察者模式、Iterator模式、函数式编程模式概念的解读,详情请戳→文章传送门。