public class MyImageActivity extends Activity { private String image_URL= "http://home.austarnet.com.au/~caroline/Slideshows/Butterfly_Bitmap_Download/slbutfly.bmp"; private ProgressDialog pd; private Bitmap bitmap; private ImageView bmImage; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bmImage = (ImageView)findViewById(R.id.imageview); pd = ProgressDialog.show(this, "Please Wait", "Downloading Image"); DownloadWebPageTask task = new DownloadWebPageTask(); task.execute(new String[] { image_URL }); // You can also give more images in string array } private class DownloadWebPageTask extends AsyncTask<String, Void, Bitmap> { // String --> parameter in execute // Bitmap --> return type of doInBackground and parameter of onPostExecute @Override protected Bitmap doInBackground(String...urls) { String response = ""; for (String url : urls) { InputStream i = null; BufferedInputStream bis = null; ByteArrayOutputStream out =null; // Only for Drawable Image // try // { // URL url = new URL(image_URL); // InputStream is = url.openStream(); // Drawable d = Drawable.createFromStream(is, "kk.jpg"); // bmImage.setImageDrawable(d); // } // catch (Exception e) { // // TODO: handle exception // } // THE ABOVE CODE IN COMMENTS WILL NOT WORK FOR BITMAP IMAGE try { URL m = new URL(image_URL); i = (InputStream) m.getContent(); bis = new BufferedInputStream(i, 1024*8); out = new ByteArrayOutputStream(); int len=0; byte[] buffer = new byte[4096]; while((len = bis.read(buffer)) != -1) { out.write(buffer, 0, len); } out.close(); bis.close(); byte[] data = out.toByteArray(); bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); } catch (Exception e) { e.printStackTrace(); } } return bitmap; } @Override protected void onPostExecute(Bitmap result) { if(result!=null) bmImage.setImageBitmap(result); pd.dismiss(); } } }
KK_07k11A0585
source share