
RxJava
AncelyF
这个作者很懒,什么都没留下…
展开
-
Rxjava从使用到原码的解析十三: Rxjava线程切换源码分析(终结版)
先来一段标准代码分析 Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> e) throws Exception { ...原创 2019-11-22 14:53:08 · 130 阅读 · 0 评论 -
Rxjava从使用到原码的解析十二: Rxjava转换型操作符map原码解析
上一篇讲了创建型操作符,里面需要传个一个泛型假设为String,那么下游接收的泛型也是Stringmap操作符的作用就是,假设我下游需要接收的是一个Bitmap那这个时候就需要类型来转换.下来来分析下Rxjava是如果做到泛型转换的,先来看来.map的代码 public final <R> Observable<R> map(Function<? ...原创 2019-11-20 11:14:59 · 147 阅读 · 0 评论 -
Rxjava从使用到原码的解析十一: Rxjava创建操作符原码解析
被观察者Observable 实现了ObservableSource接口,泛型为T,从Observable.create方法可以看出,create这个方法一定是一个静态的,代码好下 public static <T> Observable<T> create(ObservableOnSubscribe<T> source) { O...原创 2019-11-20 10:34:36 · 136 阅读 · 0 评论 -
Rxjava从使用到原码的解析十: Rxjava实战之配合Retrofit请求完注册接口直接再请求登陆接口
一个注册和登陆接口public interface LoginApi { @FormUrlEncoded @POST("user/login") Observable<HttpResult<LoginBean>> login(@FieldMap Map<String, Object> params); @FormUrl...原创 2019-11-18 16:23:22 · 384 阅读 · 0 评论 -
Rxjava从使用到原码的解析九: Rxjava背压策略
Rxjava背压策略由来:RxJava1.X的时候,还没有背压模式,在我们上游就可以无限发射事件出来,当我们下游处理不过来的时候,就会造成内存泄漏RxJava2.0之后,作者就增加了背压策略-->>Flowable,他拉功能跟Obserable功能基本一样什么时候用Obserable,什么时候用Flowable当上游有大量事件发射的时候,有时会导致下游处理不过来时用Fl...原创 2019-11-18 15:22:00 · 431 阅读 · 0 评论 -
Rxjava从使用到原码的解析八: Rxjava线程切换
来一个最基本的测试在主线程中做如下操作 Log.e(TAG, Thread.currentThread().getName()); Disposable subscribe = Observable.create(new ObservableOnSubscribe<String>() { @Override ...原创 2019-11-17 21:52:43 · 153 阅读 · 0 评论 -
Rxjava从使用到原码的解析七: Rxjava异常型操作符
Rxjava异常型操作符onErrorReturn当发射onError事件的时候,就会拦截这个事件onErrorResumeNext 跟onErrorReturn 差不多,只是onErrorResumeNext 返回的是一个被观察者,可以自己发射事件onExceptionResumeNext可以防止应用异常崩溃retry重试操作符,就是当上游发射了onErro...原创 2019-11-17 20:55:48 · 142 阅读 · 0 评论 -
Rxjava从使用到原码的解析六: Rxjava合并型操作符
Rxjava合并型操作符 : 二个或以上的被观察者进行合并startWithconcatWith跟startWith相反concatmerge合并操作符,跟concat一样,但是他跟concat不同的是他是并列的zipstartWith //Observable(被观察者1).startWith(Observable(被观察者2)) ...原创 2019-11-17 16:54:25 · 146 阅读 · 0 评论 -
Rxjava从使用到原码的解析五: Rxjava过滤型操作符和条件型作符
Rxjava过滤型操作符主要有以下几种filtertakedistinctelementAtfliterDisposable disposable = Observable.just("sanlu", "feihe") .filter(new Predicate<String>() { ...原创 2019-11-17 15:47:16 · 156 阅读 · 0 评论 -
Rxjava从使用到原码的解析四: Rxjava变换型操作符
Rxjava变换型操作符: RxJava从上游发射事件到下游接收事件过程中对进行事件变换.创建变换操作符主要有以下几种map Observable.just(1, 2)//内部会先发送A再发送B .map(new Function<Integer, String>() { @Override...原创 2019-11-17 15:27:27 · 123 阅读 · 0 评论 -
Rxjava从使用到原码的解析三: Rxjava创建型操作符
Rxjava创建型操作符主要有以下几种createjustformArrayemptyrange是用来创建Observable(被观察者)的just操作符的使用 Observable.just("A","B")//内部会先发送A再发送B .subscribe(new Observer<String>()...原创 2019-11-16 22:10:07 · 154 阅读 · 0 评论 -
Rxjava从使用到原码的解析二:Rxjava2的响应式框架设计的事件流向
Rxjava我们可以把他理解成一个河流,事件的起点我们称为上游,事件的终点我们称为下游,河里面的水都是从上而下流动,所以Rxjava也一样,只能从事件的起源再到事件的处理,不可逆状态,我们如果想要改变事件只能在上游和下游之间对事件进行拦截.上游: 被观察者(Observable)下游: 观察者(Observer)示例代码 public void rx01(View view...原创 2019-11-16 21:46:22 · 165 阅读 · 0 评论 -
Rxjava从使用到原码的解析一:Rxjava 的使用和标准观察者模式的写法
Rxjava: 一切满足于起点和终点的这种需求都可以用Rxjava这种事件流来完成.比如我们从服务器拿到一个图片,然后经过很多种处理最终显示在我们手机上.先来 看一下Rxjava的观察者模式Observable:被观察者.一个事件的起点Observer: 观察者,一个事件的终点 public void rx01(View view) { //Rxjava的起点...原创 2019-11-16 21:09:05 · 181 阅读 · 0 评论 -
Android轻松搭建MVVM + Retrofit + RxJava 及嵌入Android Architecture Components(ASS架构组件)
上面是一个简单的界面实现 ,这篇文章主要是对MVVM进行一个初步的了解,以及ASS架构的使用,非常简便的一个网络请求的封装,可以实现加载更多,加载数据,加载错误等进行生命周期的监听.不会出现当网络请求过来界面销毁导致Activity为null崩溃的问题.非常的实用..MVVM 分为Model View ViewModel层Model层 Model层就是数据层。数据来源有:...原创 2018-09-11 14:34:24 · 2813 阅读 · 0 评论 -
基于Rxjava和Retrofit实现一个简单的MVP,简单易懂,用起来也是相当之方便
首先看下个P层的构造方法 public Presenter(IBaseView mvpView, Class<R> clazz) { this.mvpView = mvpView; this.baseModel = new BaseModel(this); this.clazz = clazz; }这个泛型R的用处: 就是Re...原创 2018-08-09 18:02:23 · 241 阅读 · 0 评论