Android Open Source - AndroidAdvancedDemos Image Downloader Async Task






From Project

Back to project page AndroidAdvancedDemos.

License

The source code is released under:

MIT License

If you think the Android project AndroidAdvancedDemos listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.krieger.training.androidadvanceddemos.io;
/* w  w w.ja  v a 2  s .c  o m*/
import java.io.InputStream;
import java.net.URL;

import com.essentailab.training.androidadvanceddemos.R;
import com.krieger.training.androidadvanceddemos.entities.ImageDownloaderCookie;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.view.View;
import android.widget.ImageView;
import android.widget.ProgressBar;

public class ImageDownloaderAsyncTask extends AsyncTask<ImageDownloaderCookie, Void, Drawable> {
  ImageView imageView = null;
  ProgressBar activityCircle=null;
  
  @Override
  protected Drawable doInBackground(ImageDownloaderCookie... imageDownloaderCookie) {
      this.imageView = imageDownloaderCookie[0].getImageView();
      this.activityCircle = imageDownloaderCookie[0].getProgressBar();
      return downloadImage(imageDownloaderCookie[0].getURL(),
          imageDownloaderCookie[0].getContext());
  }

  @Override
  protected void onPostExecute(Drawable result) {
    this.activityCircle.setVisibility(View.GONE);
    this.imageView.setVisibility(View.VISIBLE);
      this.imageView.setImageDrawable(result);
  }
  
  public static Drawable downloadImage(String url, Context activity) {
    try {
      InputStream is = (InputStream) new URL(url).getContent();
      Drawable d = Drawable.createFromStream(is, "img");
      return d;
    } catch (Exception e) {
      e.printStackTrace();
      return activity.getResources().getDrawable(
          R.drawable.placeholder);
    }
  }
}




Java Source Code List

com.krieger.training.androidadvanceddemos.HomeActivity.java
com.krieger.training.androidadvanceddemos.adapter.SimpleListAdapter.java
com.krieger.training.androidadvanceddemos.adapter.UniversalListAdapter.java
com.krieger.training.androidadvanceddemos.entities.DrawerItem.java
com.krieger.training.androidadvanceddemos.entities.HeadedList.java
com.krieger.training.androidadvanceddemos.entities.ImageDownloaderCookie.java
com.krieger.training.androidadvanceddemos.entities.ImageElement.java
com.krieger.training.androidadvanceddemos.entities.ListElementCookie.java
com.krieger.training.androidadvanceddemos.fragment.AsyncTaskFragment.java
com.krieger.training.androidadvanceddemos.fragment.ErrorFragment.java
com.krieger.training.androidadvanceddemos.fragment.GalleryPageFragment.java
com.krieger.training.androidadvanceddemos.fragment.GridViewFragment.java
com.krieger.training.androidadvanceddemos.fragment.ListFragment.java
com.krieger.training.androidadvanceddemos.fragment.NestedFragment.java
com.krieger.training.androidadvanceddemos.fragment.SimpleFragment.java
com.krieger.training.androidadvanceddemos.fragment.ViewPagerFragment.java
com.krieger.training.androidadvanceddemos.interfaces.AdapterCommand.java
com.krieger.training.androidadvanceddemos.interfaces.AsyncListInflationAction.java
com.krieger.training.androidadvanceddemos.interfaces.ListHeaderInflationAction.java
com.krieger.training.androidadvanceddemos.interfaces.ListItemInflationAction.java
com.krieger.training.androidadvanceddemos.io.ImageDownloaderAsyncTask.java
com.krieger.training.androidadvanceddemos.listener.ListOnItemClickListener.java