ImageView显示网络上的图片
一、简介
二、方法
1)ImageView显示网络上的图片方法
第一步:从网络上下载图片
byte[] byteArr = downImage();//这个是自己写的函数
将byte数组转换成bitmap
Bitmap bitmap1 = BitmapFactory.decodeByteArray(byteArr, 0,byteArr.length);
第二步:在imageView控件上显示图片
iv_fromNet.setImageBitmap(bitmap1);
第三步:给手机设置能联网的属性
在AndroidManifest.xml中设置能联网的权限
<uses-permission android:name="android.permission.INTERNET" />
2)从网络上下载图片的方法
第一步:创建url连接
URL url = new URL("http://img5.imgtn.bdimg.com/it/u=3902436073,1089717092&fm=26&gp=0.jpg");
第二步:拿到HTTP连接对象
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
第三步:设置连接超时
connection.setConnectTimeout(5000);
第四步:设置HTTP请求方式
connection.setRequestMethod("GET");
第五步:获得响应状态码
int code = connection.getResponseCode();
连接成功后
第六步:拿到输入流,用于读取响应的内容
InputStream is = connection.getInputStream();
第七步:输出流用于写数据
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
第八步:读取数据就好
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) != -1) {
byteArrayOut.write(buffer, 0, len);
}
return byteArrayOut.toByteArray();
三、代码实例
效果图:
点击按钮之后,获取http://img5.imgtn.bdimg.com/it/u=3902436073,1089717092&fm=26&gp=0.jpg的图片
代码:
/iamgeViewDemo1/src/fry/Activity04.java
1 package fry; 2 3 import java.io.ByteArrayInputStream; 4 import java.io.ByteArrayOutputStream; 5 import java.io.InputStream; 6 import java.net.HttpURLConnection; 7 import java.net.MalformedURLException; 8 import java.net.URL; 9 import com.example.iamgeViewDemo1.R; 10 import android.annotation.SuppressLint; 11 import android.app.Activity; 12 import android.graphics.Bitmap; 13 import android.graphics.BitmapFactory; 14 import android.graphics.Matrix; 15 import android.graphics.drawable.BitmapDrawable; 16 import android.graphics.drawable.Drawable; 17 import android.os.Bundle; 18 import android.os.StrictMode; 19 import android.util.DisplayMetrics; 20 import android.view.View; 21 import android.view.View.OnClickListener; 22 import android.view.ViewGroup.LayoutParams; 23 import android.widget.Button; 24 import android.widget.ImageView; 25 import android.widget.LinearLayout; 26 import android.widget.SeekBar; 27 import android.widget.SeekBar.OnSeekBarChangeListener; 28 29 public