Android 下载图片并显示在ImageView中


 

 

在android当中显示一张网络图片的时候,其实是比较麻烦的。首先得把这个网络图片转换成java的imputstream流,然后再把这个流转换成一个bitMap.其中bitMap是可以作为参数传给imageView的。

下面是主要的代码

    package com.jinyan.image;  
    
    import java.io.IOException;  
    import java.io.InputStream;  
    import java.net.HttpURLConnection;  
    import java.net.MalformedURLException;  
   import java.net.URL;  
     
   import android.app.Activity;  
   import android.graphics.Bitmap;  
   import android.graphics.BitmapFactory;  
   import android.os.Bundle;  
   import android.util.Log;  
  import android.view.View;  
   import android.view.View.OnClickListener;  
   import android.widget.Button;  
   import android.widget.ImageView;  
    
  public class ActivityMain extends Activity {  
  /** Called when the activity is first created. */  
    
  String imageUrl = "http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png";  
  Bitmap bmImg;  
  ImageView imView;  
    
  Button button1;  
    
   @Override  
   public void onCreate(Bundle savedInstanceState) {  
  super.onCreate(savedInstanceState);  
   setContentView(R.layout.main);  
   imView = (ImageView) findViewById(R.id.imview);  
imView.setImageBitmap(returnBitMap(imageUrl));  
 

 }  
  
public Bitmap returnBitMap(String url) {  
 URL myFileUrl = null;  
 Bitmap bitmap = null;  
 try {  
 myFileUrl = new URL(url);  
 } catch (MalformedURLException e) {  
 e.printStackTrace();  
}  
 try {  
 HttpURLConnection conn = (HttpURLConnection) myFileUrl  
  .openConnection();  
 conn.setDoInput(true);  
 conn.connect();  
 InputStream is = conn.getInputStream();  
 bitmap = BitmapFactory.decodeStream(is);  
 is.close();  
} catch (IOException e) {  
  e.printStackTrace();  
  }  
  return bitmap;  
 }  
  
}  

遗憾的是这里没有做异步处理  如果网络异常  就会BUG


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM