facebook twitter hatena line email

「Android/非同期処理/asynctask/画像」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==画像非同期呼び出しクラスサンプル== * * 画像非同期ロードクラス: public class BitmapWorkerTask extends AsyncTask<<nowiki />String, I...」)
 
(Admin がページ「Android/asynctask/画像」を「Android/非同期処理/asynctask/画像」に、リダイレクトを残さずに移動しました)
 
(相違点なし)

2020年8月13日 (木) 15:54時点における最新版

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

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