在51cto.com上看到的,转来收藏。

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

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

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

  package com.jinyan.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.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 imageUrl = "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(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;

  }

  }

  < 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" />

更多相关文章

  1. C语言函数的递归(上)
  2. 实现android广告栏效果
  3. Android(安卓)图片放大缩小
  4. Android(安卓)图片库Glide - Glide3.x 官方wiki文档
  5. Android网络图片加载框架的选择
  6. 关于 android 加载 res 图片 out of memory 问题 解决 同样适用
  7. Android网格布局(GirdView)学习
  8. Android应用程序绑定服务(bindService)的过程源代码分析
  9. android studio导入Xutils

随机推荐

  1. 使用Python操作Redis
  2. 更改Ubuntu默认python版本
  3. Python虚拟环境包导出
  4. Python - 将值打印到新文件?
  5. 真正最正确的用BAT运行JAVA不显示DOS窗口
  6. Tkinter小部件上的垂直和水平滚动条
  7. 在Python中TypeError: object() takes no
  8. Python_面向对象_单例模式
  9. 用python计算20日均线数值
  10. Python添加默认模块搜索包路径