RxJava
文章平均质量分 92
却把清梅嗅
Android开发者,爱好写作,曾多次作为嘉宾受邀参加GDG (Google Developer Groups)线下活动进行分享。
展开
-
Android Retrofit2 Post请求添加Json类型参数笔记
Android Retrofit2 Post请求添加Json类型参数笔记一.添加Header1.添加单独Header对于某个API所需要添加Header时,可以直接在Service接口上添加@Headers注解:@Headers({ "Content-Type: application/json;charset=UTF-8", "User-Agent:原创 2017-04-19 19:49:56 · 37825 阅读 · 10 评论 -
Android架构中添加AutoDispose解决RxJava内存泄漏
概述在我的上一篇文章 解决RxJava内存泄漏(前篇):RxLifecycle详解及原理分析 中,详细阐述了 如何通过使用 RxLifecycle 解决Android开发中RxJava的可能会导致的内存泄漏问题;RxLifecycle 内部的实现原理;在文章的最后,我提到了 AutoDispose 这个库,这个库同样可以解决Android生命周期组件导致的RxJava的内存泄漏情...原创 2018-03-02 00:59:45 · 21036 阅读 · 35 评论 -
RxImagePicker:从零实现灵活且可高度定制的Android图片选择架构
前言RxImagePicker : 支持RxJava2响应式流、灵活可高度定制的Android图片选择器。这是我花费了数月闲暇时间从零开始写的一个库,在这期间,我学习到了很多,我想把自己的一些所得所感,以及这期间的一些思路,能够通过一篇文章的形式讲述出来,这就是本文的起源。一.动机在展开本文之前,我希望能够占用一些篇幅先自我回答三个问题: 1. 为什么要”重复”造轮子?...原创 2018-05-06 15:31:42 · 2474 阅读 · 3 评论 -
不要打破链式调用!一个极低成本的RxJava全局Error处理方案
RxJava与CallbackHell在正式铺展开本文内容之前,我们先思考一个问题:你认为 RxJava 真的好用吗,它好用在哪?CallbackHell,中文翻译为 回调地狱,在以往没有依赖RxJava + Retrofit进行网络请求的代码中,这种代码并不少见(比如AsyncTask),我曾有幸见识并维护了各种3层4层AsyncTask回调嵌套的项目——后来我一直拒绝阅读Async...原创 2018-09-23 17:38:53 · 7248 阅读 · 10 评论 -
使用MVVM尝试开发Github客户端及对编程的一些思考
本文中我将尝试分享我个人 搭建个人MVVM项目 的过程中的一些心得和踩坑经历,以及在这过程中目前对 编程本质 的一些个人理解和感悟,特此分享以期讨论及学习进步。缘由最近在尝试搭建自己理解的 MVVM模式 的应用程序,在这近一个月中,我思考了很多,也参考了若干Github上MVVM项目源码,并从中获益匪浅。我根据所得搭建了一个MVVM开发模式的Github客户端,并托管在了自己的github上...原创 2018-11-09 00:37:32 · 3216 阅读 · 7 评论 -
Android官方架构组件DataBinding-Ex: 双向绑定篇
争取打造 Android Jetpack 讲解的最好的博客系列:Android官方架构组件Lifecycle:生命周期组件详解&原理分析Android官方架构组件ViewModel:从前世今生到追本溯源Android官方架构组件LiveData: 观察者模式领域二三事Android官方架构组件Paging:分页库的设计美学Android官方架构组件Navigation:大巧不...原创 2019-01-15 23:48:55 · 7963 阅读 · 3 评论 -
[译]使用MVI打造响应式APP(二):View层和Intent层
《使用MVI打造响应式APP》翻译系列[译]使用MVI打造响应式APP(一):Model到底是什么[译]使用MVI打造响应式APP[二]:View层和Intent层[译]使用MVI打造响应式APP[三]:状态合并[译]使用MVI打造响应式APP[四]:IndependentUIComponents[译]使用MVI打造响应式APP[五]:DebuggingWithEase[译]使用M...翻译 2019-03-10 22:38:34 · 884 阅读 · 0 评论 -
[译]使用MVI打造响应式APP(四):独立性UI组件
原文:REACTIVE APPS WITH MODEL-VIEW-INTENT - PART4 - INDEPENDENT UI COMPONENTS作者:Hannes Dorfmann译者:却把清梅嗅这篇博客中,我们将针对如何 如何构建独立组件 进行探讨,我将阐述为什么在我看来 父子关系会导致坏味道的代码,以及为何这种关系是没有意义的。有这样一个问题时不时涌现在我的脑海中—— MVI...翻译 2019-03-15 13:34:16 · 571 阅读 · 0 评论 -
[译]使用MVI打造响应式APP(五):轻而易举地Debug
原文:REACTIVE APPS WITH MODEL-VIEW-INTENT - PART5 - DEBUGGING WITH EASE作者:Hannes Dorfmann译者:却把清梅嗅前文我们探讨了Model-View-Intent (MVI)架构模式及其相关特性,在 第一篇文章 中,我们谈到了 单项数据流的重要性 和 应用状态应该被业务逻辑驱动。本文我们将展示这种架构模式会怎样回...翻译 2019-03-17 22:15:20 · 609 阅读 · 0 评论 -
[译]使用MVI打造响应式APP(六):恢复状态
原文:REACTIVE APPS WITH MODEL-VIEW-INTENT - PART6 - RESTORING STATE作者:Hannes Dorfmann译者:却把清梅嗅在前几篇文章中,我们讨论了Model-View-Intent(MVI)和单向数据流的重要性,这极大简化了状态的恢复,那么其过程和原理是什么呢,本文我们针对这个问题进行探讨。我们将针对2个场景进行探讨:在...翻译 2019-03-21 07:32:07 · 730 阅读 · 0 评论 -
解决RxJava内存泄漏(前篇):RxLifecycle详解及原理分析
前言随着RxJava及RxAndroid的逐渐推广,使用者越来越多,但是有一个问题,RxJava的使用不当极有可能会导致内存泄漏。 比如,使用RxJava发布一个订阅后,当Activity被finish,此时订阅逻辑还未完成,如果没有及时取消订阅,就会导致Activity无法被回收,从而引发内存泄漏。目前网上对RxJava的内存泄漏有几种方案:1、通过封装,手动为RxJava...原创 2017-12-29 00:23:05 · 10740 阅读 · 11 评论 -
Android单元测试:测试RxJava的同步及异步操作
简述在您开发的项目中,您使用了RxJava+Retrofit的网络请求框架,在RxJava强大的操作符下,您理所当然的认为您已经能够游刃有余地处理Android客户端开发中的联网请求需求,比如这样://Model层的网络请求public class HomeModel extends BaseModel<ServiceManager> implements HomeContract.Model {原创 2017-11-13 22:18:05 · 7282 阅读 · 1 评论 -
理解RxJava(三)线程调度原理分析
概述在我的上一篇文章 《理解RxJava(二)操作符流程原理分析》 中,分析了依靠多个操作符链式调用的原理。简单总结如下: 1.创建:订阅前,每一步都生成对应的Observable对象,中间的每一步都将上游的Observable存储; 2.订阅: 每一步都会生成对应的Observer对上一步生成并存储的Observable进行订阅。订阅的执行顺序是由下到上的。 3.执行:先执行每一步原创 2017-12-05 22:39:17 · 3284 阅读 · 0 评论 -
Android RxJava+Retrofit+MVP 入门总结
前言RxJava+Retrofit+MVP的使用已经推出一段时间了,也一直想找个时间学习一下并且应用到接下来的项目中。趁放假这段时间仔细研究了一下,确实相比于其他框架的学习成本要高一些,不过功能实现之后的代码明显层次分明,整洁度较之前分明不少。本文仅适合入门RxJava+Retrofit的同学用来学习参考,可能对于已经熟练掌握的读者参考价值不大,特此声明。一.学习准备本章节记录的为RxJava,Re原创 2017-01-01 18:40:50 · 2476 阅读 · 0 评论 -
Android RxJava+Retrofit网络异常、状态码统一处理
Android RxJava+Retrofit 网络异常捕获、状态码统一处理前言近来使用RxJava+Retrofit进行开发,在项目中遇到这样一个需求,联网请求获得数据异常时,需要将对应的Message和StatusCode进行获得并展示,比如: 1.服务器连接Error: 对应的返回404,500等等; 2.没有网络状态(没有4g,3g,是否处于wifi环境下等);参考文章: Rxjava原创 2017-04-19 19:53:32 · 39584 阅读 · 5 评论 -
Android RxActivityResult:优雅的方式实现startActivityForResult
发现最近在研究VictorAlbertos大神的RxCache库时,发现了他的另外一个库:RxActivityResult。这个库顾名思义,就是将Android中的startActivityForResult()事件转换为Rx事件流,我花了一点时间看了看并且去尝试了一下,发现效果比想象中的还要好。今天笔者简单介绍下这个库的使用,并且分析下这个库的价值。常规写法我们首先来看常规代码我们如何实现Acti原创 2017-10-17 22:56:58 · 3453 阅读 · 0 评论 -
Android RxCache使用详解
前言我为什么使用这个库?事实上Android开发中缓存功能的实现选择有很多种,File缓存,SP缓存,或者数据库缓存,当然还有一些简单的库/工具类,比如github上的这个:【ASimpleCache】:a simple cache for android and java但是都不是很好用(虽然可能学习成本比较低,因为它使用起来相对简单),我可能需要很多的静态常量来作为key存储缓存数据value,原创 2017-10-16 23:12:33 · 6452 阅读 · 8 评论 -
RxCache中文文档
RxCache官方文档翻译本文翻译自:RxCache官方GitHub地址 版本号:RxCache 1.8.1-2.x 欢迎转载,转发请注明文章来源 http://write.blog.csdn.net/mdeditor#!postId=78056742 @却把清梅嗅中文文档已发布GitHub,详情请点击RxCache基本使用方法、Demo请参阅笔者的另一篇文章:RxCache使用详解本库的 目标翻译 2017-09-21 20:50:01 · 8753 阅读 · 4 评论 -
Android RxCache原理解析
RxCache相对于其它Android缓存库相比,入门难度较大,原因之一就是因为语言的不同,加上原文档本身内容就晦涩难懂,笔者也尝试直接翻译,但对于刚接触该库的开发者来说仍然有不低的门槛。近日又翻了翻源码,对RxCache略有所得,尝试在源码级上将RxCache这个库进行一次深入的解剖。原创 2017-10-31 21:16:39 · 1351 阅读 · 0 评论 -
理解RxJava(四)Subject用法及原理分析
概述本文将尽可能将RxJava中的Subject相关类的用法做一个阐述,并对其原理进行简单的解析。说到Subject,很多人可能都不是很熟悉它,因为相对于RxJava的Observable、Schedulers、Subscribes等关键字来讲,它抛头露面的场合似乎很少。事实上,Subject作用是很大的,借用官方的解释,Subject在同一时间内,既可以作为Observable,也可以作为Obse...原创 2017-12-20 00:06:03 · 10462 阅读 · 0 评论 -
理解RxJava(一)基本流程源码分析
随便说点什么 最近一直没有机会,好好写博客,可能还是太浮躁了,自己对自己的这种状态也不是特别满意。近几日准备安下心来,好好研究一下RxJava,把这期间的所得总结成一个系列,尽量都写博客中,看看这个阶段结束时自己能达到怎么样的程度。概述在日常的Android项目开发中,RxJava+Retrofit是一个万金油网络请求框架,通常情况下,我们的代码大概是这样的: public void requ原创 2017-11-29 23:48:23 · 1821 阅读 · 1 评论 -
理解RxJava(二)操作符流程原理分析
概述在我的上一篇文章《理解RxJava(一)基本流程源码分析》 中,通过Observable.create().subscribe()的原理进行了简单的分析。今天尝试对多个操作符的链式调用进行分析,示例代码: @Test public void test() throws Exception { Observable.create((ObservableOnSubsc原创 2017-12-03 23:57:45 · 1484 阅读 · 2 评论 -
Android官方架构组件Paging-Ex:列表状态的响应式管理
概述Paging是Google在2018年I/O大会上推出的适用于Android原生开发的分页库,随着越来越多的开发者着手使用Paging,越来越多的问题暴露出来,最直接的一个问题是:如何管理列表额外的状态?这样的需求随处可见,比如 侧滑删除、为评论点赞 等等:本文将阐述:如何管理Paging分页列表的 状态,为何这样设计,以及设计的过程。列表的状态问题和市面上其它热门的分页库相比...原创 2019-05-23 23:52:53 · 1505 阅读 · 3 评论