Android中顯示網絡上的圖片

jopen 11年前發布 | 166K 次閱讀 Android Android開發 移動開發

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

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

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

 

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

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:orientation="vertical" >  

    <TextView  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:text="@string/hello" />  
    <ImageView   
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:id="@+id/imageView" />  

</LinearLayout>  

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

package com.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.widget.ImageView;  

public class NetImageActivity extends Activity {  
    /** Called when the activity is first created. */  
     String imageUrl = "http://content.52pk.com/files/100623/2230_102437_1_lit.jpg";    
     Bitmap bmImg;    
     ImageView imView;    
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        imView = (ImageView) findViewById(R.id.imageView);    
        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;    
    }    
}  

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

         運行效果:
1334536975_2033.jpg

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!