写在前面:本文来自以下URL
http://www.eoeandroid.com/viewthread.php?tid=26&extra=page%3D2
推荐大家到这个论坛,和原文查看
?
?
在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;??
- ? ?
- ? [email protected]
- ? ?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" />??
eoeAndroid
- 测试网络速度