天翼空间社区上看到的,转来收藏。

在android 当中显示一张网络图片的时候,其实是比较麻烦的。首先得把这个网络图片转换成java的imputstream流,然后再把这个留转换成一个bitMap.

bitMap是可以作为参数传给p_w_picpathView的。

在下边的returnBitMap函数是最核心的,也是大家可以重用的,它负责把一个url的网络图片变成一个本地的BitMap。

  package com.jinyan.p_w_picpath;

  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 p_w_picpathUrl = "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(p_w_picpathUrl));

  }

  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;

  }

  }

  < xml version="1.0" encoding="utf-8"?>

  < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

  android:orientation="vertical" android:layout_width="fill_parent"

  android:layout_height="fill_parent">

  < ImageView android:id="@+id/imview" android:layout_width="wrap_content"

  android:layout_height="wrap_content" android:layout_gravity="center" />

  LinearLayout>

注意,想要让你的程序 可以访问网络,你必须在menifest文件里边增加:

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