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