2016-10-11 18 views
6

Retrofitのキャッシュを設定しようとしているため、データを常に取得する必要はありません。私はthis SOのように、私が必要とする正しい方向にあるように見えます。OkHttpClientがメソッドsetCacheを解決できない

Iエラーcannot resolve method setCacheを返しclient.setCache(cache)、しかし

OkHttpClient client = new OkHttpClient(); 
client.networkInterceptors().add(REWRITE_CACHE_CONTROL_INTERCEPTOR); 
File httpCacheDirectory = new File(getCacheDir(), "responses"); 
int cacheSize = 10*1024*1024; 
Cache cache = new Cache(httpCacheDirectory, cacheSize); 
client.setCache(cache); 

(SOから同一である)下記ました。

私はここで間違っていますか?私は改造2.1.0およびokhttp3 3.4.1

答えて

12

3.xではOkHttpClientの方法の束をOkHttpClient.Builderのメソッドに移しました。あなたは次のようなものを望みます:

File httpCacheDirectory = new File(getCacheDir(), "responses"); 
int cacheSize = 10*1024*1024; 
Cache cache = new Cache(httpCacheDirectory, cacheSize); 

OkHttpClient client = new OkHttpClient.Builder() 
    .addNetworkInterceptor(REWRITE_CACHE_CONTROL_INTERCEPTOR) 
    .cache(cache) 
    .build(); 
+0

私はエラーが発生していますシンボル 'REWRITE_CACHE_CONTROL_INTERCEPTOR'を解決できません –

関連する問題