如何在Android當中顯示網絡圖片

如何在Android當中顯示網絡圖片

 

寫在前面:本文來自以下URL

http://www.eoeandroid.com/viewthread.php?tid=26&extra=page%3D2

推薦大家到這個論壇,和原文查看

 

 

android 當中顯示一張網絡圖片的時候,其實是比較麻煩的。首先得把這個網絡圖片轉換成java的imputstream流,然後再把這個留轉換成一個bitMap.
bitMap是可以作爲參數傳給imageView的。

在下邊的returnBitMap函數是最核心的,也是大家可以重用的,它負責把一個url的網絡圖片變成一個本地的BitMap。

  1.     package com.jinyan.image;  
  2.    
  3.     import java.io.IOException;  
  4.     import java.io.InputStream;  
  5.     import java.net.HttpURLConnection;  
  6.     import java.net.MalformedURLException;  
  7.    import java.net.URL;  
  8.      
  9.    import android.app .Activity;  
  10.    import android.graphics.Bitmap;  
  11.    import android.graphics.BitmapFactory;  
  12.    import android.os.Bundle;  
  13.    import android.util.Log;  
  14.   import android.view.View;  
  15.    import android.view.View.OnClickListener;  
  16.    import android.widget.Button;  
  17.    import android.widget.ImageView;  
  18.    
  19.   public class ActivityMain extends Activity {  
  20.   /** Called when the activity is first created. */  
  21.    
  22.   String imageUrl = "http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png";  
  23.   Bitmap bmImg;  
  24.   ImageView imView;  
  25.    
  26.   Button button1;  
  27.    
  28.    @Override  
  29.    public void onCreate(Bundle savedInstanceState) {  
  30.   super.onCreate(savedInstanceState);  
  31.    setContentView(R.layout.main);  
  32.    imView = (ImageView) findViewById(R.id.imview);  
  33. imView.setImageBitmap(returnBitMap(imageUrl));  
  34. }  
  35.   
  36. public Bitmap returnBitMap(String url) {  
  37. URL myFileUrl = null;  
  38. Bitmap bitmap = null;  
  39. try {  
  40. myFileUrl = new URL(url);  
  41. } catch (MalformedURLException e) {  
  42. e.printStackTrace();  
  43. }  
  44. try {  
  45. HttpURLConnection conn = (HttpURLConnection) myFileUrl  
  46.   .openConnection();  
  47. conn.setDoInput(true);  
  48. conn.connect();  
  49. InputStream is = conn.getInputStream();  
  50. bitmap = BitmapFactory.decodeStream(is);  
  51. is.close();  
  52. } catch (IOException e) {  
  53.   e.printStackTrace();  
  54.   }  
  55.   return bitmap;  
  56. }  
  57.   
  58. }  
複製代碼
  1.    xml version="1.0" encoding="utf-8"?>  
  2.    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.    android:orientation="vertical" android:layout_width="fill_parent"  
  4.   android:layout_height="fill_parent">  
  5.    <ImageView android:id="@+id/imview" android:layout_width="wrap_content"  
  6.    android:layout_height="wrap_content" android:layout_gravity="center" />  
  7.     LinearLayout>  
複製代碼
注意,想要讓你的程序 可以訪問網絡,你必須在menifest文件裏邊增加:
  1.     <uses-permission android:name="android.permission.INTERNET" />  
複製代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章