如何在Android当中显示网络图片

来源:互联网 发布:计算机编程入门 编辑:程序博客网 时间:2024/05/16 06:12

如何在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" />  
复制代码
原创粉丝点击