web-dev-qa-db-ja.com

ピカソライブラリ-Androidで自分のディスクキャッシュを実装する方法

私はピカソライブラリを使用してアプリの画像を読み込んでいます。しかし、自分のディスク(SDカード)キャッシングをピカソライブラリで実装する方法はありません。

23
Dax

PicassoはディスクキャッシュにHTTPクライアントを使用しており、すでに構成されている場合は、独自にインストールする代わりにそれを使用します。

組み込みのUrlConnectionの場合、キャッシュをインストールするためのドキュメントは次のとおりです。 https://developer.Android.com/reference/Android/net/http/HttpResponseCache.html

OkHttpを使用している場合は、setCacheを呼び出すだけです。 http://square.github.io/okhttp/2.x/okhttp/com/squareup/okhttp/OkHttpClient.html#setCache-com.squareup.okhttp .Cache-

36
Jake Wharton

@ Dax、OkHttpを使用してカスタムキャッシュディレクトリにファイルを保存するには、次のようにコーディングします-

OkHttpClient okHttpClient = new OkHttpClient();
File customCacheDirectory = new File(Environment.getExternalStorageDirectory().getAbsoluteFile() + "/MyCache");
okHttpClient.setCache(new Cache(customCacheDirectory, Integer.MAX_VALUE));
OkHttpDownloader okHttpDownloader = new OkHttpDownloader(okHttpClient);
Picasso picasso = new Picasso.Builder(mainActivity).downloader(okHttpDownloader).build();
picasso.load(imageURL).into(viewHolder.image);

お役に立てれば。

5
Gaurav B