facebook twitter hatena line google mixi email

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