2015-10-23 9 views
5

Se si sta eseguendo l'aggiornamento dalla libreria OkHttp da 1.x a 2.x, è evidente che il metodo OkHttpClient "open" è mancante. Il codice seguente NON verrà compilato.Metodo "aperto" OkHttpClient mancante nella v2.0

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

risposta

11

Secondo il funzionario change log:

supporto URLConnection si è spostato al modulo okhttp-URLConnection. Se esegui l'aggiornamento da 1.x, questo cambiamento avrà un impatto su di te. Sarà necessario aggiungere il modulo okhttp-URLConnection al progetto e utilizzare l'OkUrlFactory per creare nuove istanze di HttpURLConnection:

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

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

Basta ricordarsi di aggiungere la dipendenza, come di seguito al file Gradle.

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

A partire dal OkHttp 3.x, OkUrlFactory erano stati segnati deprecato, a favore del nuovo Request/Response stile di chiamate, che è più flessibile. Alcune informazioni: https://publicobject.com/2015/12/15/okurlfactory-is-going-away/

Così il nuovo stile è andare a guardare più simile a:

OkHttpClient httpClient = new OkHttpClient() 

Request request = Request.Builder() 
    .url(url) 
    .build() 
Response response = httpClient.newCall(request).execute() 
Problemi correlati