次の画像ダウンロード コードを Picasso 画像キャッシュでダウンロードしたいと考えています。
DownloadImage downloadImage = new DownloadImage();
downloadImage.execute(advert.getImgUrl());
private class DownloadImage extends AsyncTask<String, Void, Bitmap> {
@Override
protected Bitmap doInBackground(String... arg) {
Bitmap bmp = null;
try {
URL url = new URL(arg[0]);
bmp = BitmapFactory.decodeStream(url.openConnection()
.getInputStream());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
return null;
}
return bmp;
}
@Override
protected void onPostExecute(Bitmap result) {
if (result == null) {
Intent intent = new Intent(AdvertisingActivity.this,
AdvertisingErrorActivity.class);
intent.putExtra("ad-error", "Error downloading image");
}
adImg.setImageBitmap(result);
super.onPostExecute(result);
}
}
これに関していくつか質問があります。
複数の画像を並行してダウンロードしたい。異なる URL 値で を繰り返し呼び出した場合
Picasso.with(getActivity()).load(url);
、これは実行されますか?あるアクティビティで画像をダウンロードして、別のアクティビティで使用したいと考えています。これは可能ですか?これはどのように行うことができますか?
Picasso.with(getActivity()).load(url);
同じ URL 値で 2 回以上呼び出した場合、画像がダウンロードされた後、後続の呼び出しのためにキャッシュされた画像が読み込まれますか?画像のダウンロード プロセスが何らかの理由で失敗した場合、Picasso に失敗を報告させることはできますか?