2015-10-23 8 views
5

OkHttp kitaplığından 1.x'ten 2.x'e yükseltiyorsanız, OkHttpClient yöntemi "açık" eksik görünüyor. Aşağıdaki kod derlenmeyecektir.OkHttpClient "açık" yöntemi v2.0 eksik

URLConnection destek okhttp-URLConnection modülüne taşındı: Resmi change log gereğince

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

cevap

11

. Eğer 1.x'ten yükseltiyorsanız, bu değişiklik sizi etkileyecektir. Sen projenize okhttp-URLConnection modülü eklemek ve HttpURLConnection yeni örneklerini oluşturmak için OkUrlFactory kullanmak gerekir:

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

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

Sadece Gradle dosyasına aşağıdaki gibi bağımlılık eklemeyi unutmayın. OkHttp 3.x itibariyle

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

, OkUrlFactory daha esnektir aramaların yeni Request/Response tarzı, lehine, kullanımdan kaldırıldı işaretli edilmişti. Bazı bilgiler:

OkHttpClient httpClient = new OkHttpClient() 

Request request = Request.Builder() 
    .url(url) 
    .build() 
Response response = httpClient.newCall(request).execute() 
: https://publicobject.com/2015/12/15/okurlfactory-is-going-away/

Yani yeni stil daha benzemeye gidiyor

İlgili konular