facebook twitter hatena line email

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);
   }
 }
}

参考

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