2017-05-03 11 views
1

私はretrofit 1.9.0を使用していますが、次のコードがあります。メソッドsetClient(okhttp3.OkHttpClient)を解決できません

private static String ROOT_URL = "www.mydomain.com"; 
public static RestAdapter restAdapter() 
{ 
    OkHttpClient httpClient= new OkHttpClient.Builder() 
      .retryOnConnectionFailure(true) 
      .connectTimeout(30, TimeUnit.SECONDS) 
      .build(); 
    RestAdapter.Builder builder = new RestAdapter.Builder(); 
    builder.setEndpoint(ROOT_URL); 
    builder.setLogLevel(RestAdapter.LogLevel.FULL); 
    builder.setClient(httpClient); 
    RestAdapter restAdapter = builder.build(); 
    return restAdapter; 
} 

が、私はエラーがメソッドのsetClient(okhttp3.OkHttpClient)を解決することはできません取得します。エラーは赤色ではなく、赤線で下線が引かれています。何が問題なのでしょうか?

答えて

2

これはsetClient() 1.9レトロフィットでの補強2.0で使用されOkClientなくOkHttpClientを使用しています。 okhttp3.OkHttpClientの代わりにcom.square.okhttp.OkHttpClientにインポートを変更し、対応するメソッドを使用することができます。次のようなもの

OkHttpClient httpClient= new OkHttpClient(); 
httpClient.setRetryOnConnectionFailure(true); 
httpClient.setConnectTimeout(30, TimeUnit.SECONDS); 
RestAdapter.Builder builder = new RestAdapter.Builder(); 
builder.setClient(new OkClient(httpClient)); 

希望します。

+0

上記のコードを変更すると、次のエラーが表示されます。retryOnConnectionFailureにcom.square.okhttp.okhttpclientのプライベートアクセスがあります。 –

+0

@NyagakaEnock答えを編集しました。 –

+0

ありがとう、それは –

関連する問題