您的位置:首页 > 理论基础 > 计算机网络

android中显示网络图片

2010-08-31 11:22 363 查看
在android 当中显示一张网络图片的时候,其实是比较麻烦的。首先得把这个网络图片转换成java的imputstream流,然后再把这个留转换成一个bitMap.
bitMap是可以作为参数传给imageView的。

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

Java代码



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;

}

}

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代码



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>

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文件里边增加:

Xml代码



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

<uses-permission android:name="android.permission.INTERNET" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: