相关疑难解决方法(0)

RxAndroid和Retrofit:无法为io.reactivex.Observable创建调用适配器<retrofit2.Response <okhttp3.ResponseBody >>

我正在尝试使用rxJava,rxAndroid,Retrofit2和OkHTTP3从URL端点下载文件.我的代码无法为"Observable <retrofit2.Response <okhttp3.ResponseBody >>"创建调用适配器.这些方法对我来说都是新的,所以我相信我在这里错过了一个重要的概念.非常感谢任何方向或点.

致命异常:主要过程:com.example.khe11e.rxdownloadfile,PID:14130 java.lang.IllegalArgumentException异常:无法创建在retrofit2.ServiceMethod $ Builder.methodError方法RetrofitInterface.downloadFileByUrlRx为io.reactivex.Observable呼叫适配器>(ServiceMethod的.java:720)在retrofit2.ServiceMethod $ Builder.createCallAdapter(ServiceMethod.java:234)在retrofit2.ServiceMethod $ Builder.build(ServiceMethod.java:160)在retrofit2.Retrofit.loadServiceMethod(Retrofit.java:166)在retrofit2 .Retrofit $ 1.invoke(Retrofit.java:145)在java.lang.reflect.Proxy.invoke(Proxy.java:393)在$ Proxy0.downloadFileByUrlRx(来源不明)在com.example.khe11e.rxdownloadfile.MainActivity.downloadImage (MainActivity.java:46)在com.example.khe11e.rxdownloadfile.MainActivity $ 1.onClick(MainActivity.java:39)在android.view.View.performClick(View.java:5207)在android.view.View $ PerformClick .run(View.java:21168)在android.os.Handler.dispatchMe的android.os.Handler.handleCallback(Handler.java:746)ssage(Handler.java:95)在android.app.Looper.loop(Looper.java:148)的android.app.ActivityThread.main(ActivityThread.java:5491)at java.lang.reflect.Method.invoke(Native java.lang.IllegalArgumentException异常:方法)在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:728)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)所致:找不到io.reactivex.Observable>的调用适配器.尝试:*retrofit2.adapter.rxjava.RxJavaCallAdapterFactory*retrofit2.ExecutorCallAdapterFactory在retrofit2.Retrofit.nextCallAdapter(Retrofit.java:237)在retrofit2.Retrofit.callAdapter(Retrofit.java:201)在retrofit2.ServiceMethod $ Builder.createCallAdapter(ServiceMethod .java:232)......还有16个

的build.gradle:

compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.0.4'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
Run Code Online (Sandbox Code Playgroud)

RetrofitInterface.java:

package com.example.khe11e.rxdownloadfile;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.Response;
import retrofit2.http.GET;
import retrofit2.http.Streaming;
import retrofit2.http.Url;

public interface RetrofitInterface {
    // Retrofit 2 GET request for rxjava
    @Streaming
    @GET
    Observable<Response<ResponseBody>> downloadFileByUrlRx(@Url String fileUrl);
}
Run Code Online (Sandbox Code Playgroud)

MainActivity.java:

package com.example.khe11e.rxdownloadfile;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; …
Run Code Online (Sandbox Code Playgroud)

java android rx-java retrofit2 rx-java2

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

java ×1

retrofit2 ×1

rx-java ×1

rx-java2 ×1