/ Nie można zastosować / Okclient w Okclient (okhttp3.okhttpclient) - Android, modernizacja

Okclient w Okclient nie może być zastosowany do (okhttp3.okhttpclient) - android, modernizacja

Próbuję użyć Retrofit w jednym z moich projektów. Mam do czynienia z błędem (nowy OkClient (nowy 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);

Błąd, podkreślony na czerwono, jest włączony

(nowy OkHttpClient ())

* Nie można zastosować OkClient (com.squareup.okhttp.OkhttpClient) w OkClient (okhttp3.OkhttpClient) *

Oto moje zależności:

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"

Dowolny pomysł?.
Dzięki

Odpowiedzi:

5 dla odpowiedzi № 1

W przypadku wersji modernizowanych wcześniejszych niż 2.0.0-beta3 musisz użyć OkHttp 2. Zmień zależność OkHttp na compile "com.squareup.okhttp:okhttp:2.7.2" lub zaktualizuj do Retrofit 2.


4 dla odpowiedzi nr 2

Możesz używać OkHttp3 z Retrofit 1.9 dzięki Jake'owi Whartonowi i jego retrofit1-okhttp3-client

W tej bibliotece wystarczy zmodyfikować setClient() w Twoim RestAdapter.Builder używać Ok3Client zamiast OkClient.

Kod powinien wyglądać następująco:

RestAdapter adapter = new RestAdapter.Builder()
.setEndpoint(Constants.GET_API_URL_BASE)
.setLogLevel(RestAdapter.LogLevel.FULL)
.setClient(new Ok3Client(new OkHttpClient()))
.build();

Tutaj możesz znaleźć więcej informacji o tym, jak z niego korzystać.