Android/非同期処理/asynctask/画像
提供: 初心者エンジニアの簡易メモ
2015年5月20日 (水) 02:58時点における127.0.0.1 (トーク)による版 (ページの作成:「==画像非同期呼び出しクラスサンプル== →* * 画像非同期ロードクラス: public class BitmapWorkerTask extends AsyncTask<<nowiki />String, I...」)
画像非同期呼び出しクラスサンプル
/**
* 画像非同期ロードクラス
*/
public class BitmapWorkerTask extends AsyncTask<String, Integer, Bitmap> {
private final String TAG = "BitmapWorkerTask";
private Context mContext;
private WeakReference<ImageView> mImageViewReference;
public BitmapWorkerTask(Context context) {
this.mContext = context;
}
public void setImageView(ImageView iv) {
mImageViewReference = new WeakReference<ImageView>(iv);
}
@Override
protected void onPreExecute() {
Log.d(TAG, "onPreExecute");
}
@Override
protected Bitmap doInBackground(String... urls) {
return BitmapUtil.getBitmapByUrl(urls[0]);
}
@Override
protected void onProgressUpdate(Integer... values) {
Log.d(TAG, "onProgressUpdate=" + values[0]);
}
@Override
protected void onCancelled() {
Log.d(TAG, "onCancelled");
}
@Override
protected void onPostExecute(Bitmap bitmap) {
if (mImageViewReference != null && bitmap != null) {
ImageView iv = mImageViewReference.get();
iv.setImageBitmap(bitmap);
}
}
}
