2017-04-17 1 views
0

私はOkHttpにディスク上の各応答を保存する場所を教えたいと思っています。基本的には、キャッシュするために保存される各応答のファイルパスを指定します。次に、OkHttpはこのパスにアクセスして、レスポンスがキャッシュ内で使用可能かどうかを確認する必要があります。私はキャッシュディレクトリのパスを設定できることを知っていますが、私は "キャッシュファイルのパス"を各リクエストに設定したいと思います。OkHttpがキャッシュ上の各応答をディスクに保存する場所を指定する方法はありますか?

どのような意味でも、各リクエストのディスクキャッシュを処理し、ディスクからファイルを取得/設定するために提供されたパスを使用するために、インターセプタを使用できますか?

答えて

1

OkHttpできません。代わりに、OkHttpのキャッシュではなく独自のディスク永続性スキームが必要なように思えます。あなたは迎撃器でそれを行うことができます。キャッシュが限界に達したときにファイルを削除することに注意してください!

+0

お返事ありがとうございます。あなたは、どの特定のメソッドが私が焦点を当てるべきであるかを示唆するクイックコードスニペットを提供してください。あなたはこれを達成するためにインターセプタをセットアップする方法について、迅速な流れを提供できますか?私は理解するために全週末を過ごしましたが、まだ分かりません。ありがとう!!!! – asad

+1

[CacheInterceptor](https://github.com/square/okhttp/blob/master/okhttp/src/main/java/okhttp3/internal/cache/CacheInterceptor)から独自のバージョンのcacheWritingResponse()を構築したいと思うでしょう。 .java)。 –

+0

ありがとうございました!本当に私の一日を作った。 – asad

関連する問題