Retrofit2.0+RxJava2.0问题】的更多相关文章

问题1:java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 2 path $ @FormUrlEncoded @POST("userLogin") Observable<Object> userLogin(@Field mPostLocation.userLogin(sfflag,telephone, password,phoneid,phonemo…
我这里的网络请求是用的装饰者模式去写的,什么是装饰者模式呢?在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象.我的理解就是一个接口,两个实现类,一个实现类负责调用接口的方法,另一个类负责功能的具体实现.本文中所提到的代码都是伪代码,最后会给出完整的,最初版本的项目框架.不包含任何业务逻辑   项目结构.png   容我一个一个来说,首先,我们一般请求网络的时候,会有统一的返回数据格式,一个是需要判断返回code码的,就比方说登录…
简介 wanandroid项目基于 Retrofit + RxJava2.0 + Kotlin + MVP 用到的依赖 implementation 'io.reactivex.rxjava2:rxjava:2.1.3' implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.retrofit2:converter-gson:2.3.0' implementation 'com.squ…
这可能是最好的RxJava 2.x 教程(完结版) https://www.jianshu.com/p/0cd258eecf60 RxJava2.0——从放弃到入门 https://www.jianshu.com/p/cd3557b1a474…
RxJava2.0的使用详解 1,初识RxJava RxJava就是一种用Java语言实现的响应式编程,来创建基于事件的异步程序 RxJava是一个基于事件订阅的异步执行的一个类库,目前比较火的一些技术框架! 参考资料: Github上RxJava的项目地址: https://github.com/ReactiveX/RxJava 技术文档Api: http://reactivex.io/RxJava/javadoc/ RxAndroid,用于 Android 开发: https://githu…
摘记: 1.map -- 转换  有些服务端的接口设计,会在返回的数据外层包裹一些额外信息,这些信息对于调试很有用,但本地显示是用不到的.使用 map() 可以把外层的格式剥掉,只留下本地会用到的核心格式.代码大致形式: api.getData() .map(response -> response.data) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(observer)…
参考博文:给初学者的RxJava2.0教程-简书     源码 :https://github.com/ssseasonnn/RxJava2Demo 1 若是发送多个onError, 则收到第二个onError事件会导致程序会崩溃: package com.shiqing.rxjava2; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; impo…
使用Rxjava2.0的过程中,难免会遇到链式请求,而链式请求一般都是第一个抛异常,那么后面的请求都是不会走的.现在来讨论一下链式请求的一种异常处理方法.例如: 一个登录-->通过登录返回的token数据-->获取用户相关信息的链式请求未处理代码如下: 1 retrofit.create(ApiService.class) 2 .login(userName, pwd) 3 .subscribeOn(Schedulers.io()) 4 .flatMap(new Function<Log…
尝试在新的项目中,引用一些流行的优秀的开源框架,在简书上偶然发现一篇很棒的写RxJava 2.0的帖子,个人认为非常适合Android开发者,你可以先知道怎么使用,然后再弄清楚里面做了哪些事情,例如可以深入一下实现线程调度的源码. 博主把RxJava中的观察者模式比喻成上游和下游的两根水管,非常形象,容易形成图像记忆. 与之相应的代码: Observable.create(new ObservableOnSubscribe<Integer>() { @Override public void…
月30日,Build 开发者大会上,正式宣布了 Visual Studio Code 项目;并将其定义为:一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器. Visual Studio Code(图片来自:code.visualstudio) 微软Visual Studio Code代码编辑器更新至0.8.0.本次更新增加了多种主题,包括著名的Monokai:针对WIndows系统采用基于Inno Setup的安装格式,提升…