加载网络图片
程序员文章站
2022-05-16 11:24:13
...
使用HttpURLConnection加载网络图片
图片展示
代码展示
xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.administrator.urlapplication.Main2Activity">
<Button
android:id="@+id/loadpic_btn"
android:layout_width="match_parent"
android:layout_height="60dp"
android:text="加载图片"/>
<ImageView
android:id="@+id/loadpic_img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitCenter"/>
</LinearLayout>
Java文件
package com.example.administrator.urlapplication;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.widget.ImageView;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**
* Created by Administrator on 2018/3/13.
*/
public class ImgLoadTask extends AsyncTask<String,Integer,Bitmap> {
private ImageView imageView;
//加构造方法的原因——有传值的需要
public ImgLoadTask(ImageView iv){
this.imageView=iv;
}
@Override
protected Bitmap doInBackground(String... strings) {
//加载网络图片,最后获取到一个Bitmap对象
Bitmap bm=null;
try {
//创建URL对象
URL url=new URL(strings[0]);
//通过URL对象得到HttpURLConnection
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
//得到输入流
InputStream inputStream=connection.getInputStream();
bm= BitmapFactory.decodeStream(inputStream);//把输入流转换成Bitmap类型对象
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return bm;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
super.onPostExecute(bitmap);
imageView.setImageBitmap(bitmap);
}
}
上一篇: 判断二叉树树是否是平衡二叉树
下一篇: 【全排列代码】这可能是全网最详细的解析了