歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android中顯示網絡上的圖片

在Android中顯示網絡上的圖片,需要先根據url找到圖片地址,然後把該圖片轉化成java的InputStream,然後把該InputStream流轉化成BitMap,BitMap可以直接顯示在android中的ImageView裡。這就是顯示網絡上圖片的思路,實現起來很簡單。下面讓我們看一下實現起來的過程。

首先在AndroidManifest.xml中給程序加上訪問Internet的權限:

<uses-permissionandroid:name="android.permission.INTERNET" />

然後在布局文件中加入一個ImageView,用來顯示網絡上的圖片:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <TextView  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="wrap_content"  
  10.         android:text="@string/hello" />  
  11.     <ImageView   
  12.         android:layout_width="wrap_content"  
  13.         android:layout_height="wrap_content"  
  14.         android:id="@+id/imageView" />  
  15.   
  16. </LinearLayout>  

在主程序的Activity中寫從網絡中得到圖片,並轉化成InputStream,然後再轉化成可以顯示在ImageView裡的Bitmap。

  1. package com.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.widget.ImageView;  
  14.   
  15. public class NetImageActivity extends Activity {  
  16.     /** Called when the activity is first created. */  
  17.      String imageUrl = "http://www.linuxidc.com/upload/linuxidc.jpg";    
  18.      Bitmap bmImg;    
  19.      ImageView imView;    
  20.     @Override  
  21.     public void onCreate(Bundle savedInstanceState) {  
  22.         super.onCreate(savedInstanceState);  
  23.         setContentView(R.layout.main);  
  24.         imView = (ImageView) findViewById(R.id.imageView);    
  25.         imView.setImageBitmap(returnBitMap(imageUrl));    
  26.     }  
  27.       
  28.     public Bitmap returnBitMap(String url){  
  29.         URL myFileUrl = null;    
  30.         Bitmap bitmap = null;   
  31.         try {    
  32.             myFileUrl = new URL(url);    
  33.         } catch (MalformedURLException e) {    
  34.             e.printStackTrace();    
  35.         }    
  36.         try {    
  37.             HttpURLConnection conn = (HttpURLConnection) myFileUrl    
  38.               .openConnection();    
  39.             conn.setDoInput(true);    
  40.             conn.connect();    
  41.             InputStream is = conn.getInputStream();    
  42.             bitmap = BitmapFactory.decodeStream(is);    
  43.             is.close();    
  44.         } catch (IOException e) {    
  45.               e.printStackTrace();    
  46.         }    
  47.               return bitmap;    
  48.     }    
  49. }  

然後運行程序就可以顯示出來網絡上的圖片了。

運行效果:

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved