Okclient中的Okclient无法应用于(okhttp3.okhttpclient)

JoC*_*uTo 6 android retrofit

我试图在我的一个项目中使用Retrofit.我遇到了一个错误(new OkClient(new OkHttpClient()))

 RestAdapter adapter = new RestAdapter.Builder()
                 .setEndpoint(Constants.GET_API_URL_BASE)
                 .setLogLevel(RestAdapter.LogLevel.FULL)
                 .setClient(new OkClient(new OkHttpClient()))
                 .build();
         apiGet = adapter.create(ApiCalls.class);
Run Code Online (Sandbox Code Playgroud)

红色下划线的错误已打开

(新的OkHttpClient())

*OkClient中的OkClient(com.squareup.okhttp.OkhttpClient)无法应用于(okhttp3.OkhttpClient)*

这些是我的依赖:

compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'net.danlew:android.joda:2.7.1'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.okhttp3:okhttp:3.0.1'
Run Code Online (Sandbox Code Playgroud)

任何的想法?.
谢谢

小智 5

对于2.0.0-beta3之前的Retrofit版本,您必须使用OkHttp 2.将OkHttp依赖项更改为compile 'com.squareup.okhttp:okhttp:2.7.2'或更新为Retrofit 2.


Bor*_*edo 5

感谢Jake Wharton和他的retrofit1-okhttp3-client,您可以将OkHttp3与Retrofit 1.9一起使用

有了这个库,你只需要修改setClient()你的RestAdapter.Builder使用Ok3Client,而不是OkClient

代码应如下所示:

RestAdapter adapter = new RestAdapter.Builder()
             .setEndpoint(Constants.GET_API_URL_BASE)
             .setLogLevel(RestAdapter.LogLevel.FULL)
             .setClient(new Ok3Client(new OkHttpClient()))
             .build();
Run Code Online (Sandbox Code Playgroud)

在这里您可以找到有关如何使用它的更多信息。