2015-10-23 7 views
5

W przypadku aktualizacji z biblioteki OkHttp z 1.x do 2.x, brakuje metody "otwórz" OkHttpClient. Poniższy kod NIE będzie się kompilował.Metoda "otwartego" OkHttpClienta w wersji 2.0

 OkHttpClient client = new OkHttpClient(); 
     HttpURLConnection conn = client.open(url); 

Odpowiedz

11

Według oficjalnej change log:

wsparcie URLConnection został przeniesiony do modułu okhttp-URLConnection. Jeśli przeprowadzasz aktualizację z wersji 1.x, ta zmiana wpłynie na Ciebie. trzeba będzie dodać moduł okhttp-URLConnection do projektu i używać OkUrlFactory do tworzenia nowych wystąpień HttpURLConnection:

// OkHttp 1.x: 
HttpURLConnection connection = client.open(url); 

// OkHttp 2.x: 
HttpURLConnection connection = new OkUrlFactory(client).open(url); 

Wystarczy pamiętać, aby dodać zależność jak poniżej do pliku Gradle.

compile 'com.squareup.okhttp:okhttp-urlconnection:2.5.0' 
1

Od OkHttp 3.x OkUrlFactory zostały oznaczone przestarzałe, na korzyść nowego Request/Response stylu rozmowy, który jest bardziej elastyczny. Niektóre informacje: https://publicobject.com/2015/12/15/okurlfactory-is-going-away/

Tak więc nowy styl będzie wyglądać bardziej jak:

OkHttpClient httpClient = new OkHttpClient() 

Request request = Request.Builder() 
    .url(url) 
    .build() 
Response response = httpClient.newCall(request).execute() 
Powiązane problemy