facebook twitter hatena line email

Android/非同期処理/asynctask/画像

提供: 初心者エンジニアの簡易メモ
2020年8月13日 (木) 15:54時点におけるAdmin (トーク | 投稿記録)による版 (Admin がページ「Android/asynctask/画像」を「Android/非同期処理/asynctask/画像」に、リダイレクトを残さずに移動しました)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

画像非同期呼び出しクラスサンプル

/**
 * 画像非同期ロードクラス
 */
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);
   }
 }
}

参考

http://y-anz-m.blogspot.jp/2012/08/android-bitmap.html