下面是我的配置信息:
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.squareup.retrofit2:converter-scalars:2.3.0'
compile 'com.google.code.gson:gson:2.4'
compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.squareup.okio:okio:1.8.0'
需要注意这里: adapter-rxjava2:2.2.0’ 这里是adapter-rxjava2 ,如果是adapter-rxjava 就会报如下错误:
另外,在创建retrofit时用的是RxJava2CallAdapterFactory。
mRetrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(ScalarsConverterFactory.create())//增加返回值为String的支持
.addConverterFactory(GsonConverterFactory.create())//增加返回值为Gson的支持(以实体类返回)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())//增加返回值为Observable<T>的支持
.client(client)
.build();