对于把图片缓存到手机的代码有下面几个片段
我们首先从输入流代码中看看
protected Bitmap doInBackground(String... integers) {
//加载网络图片,最后获取到一个Bitmap对象,返回Bitmap
Bitmap bm = null;
try {
//创建URl
URL url = new URL(params[0]);
//openConnection
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//创建输入流
InputStream inputStream = connection.getInputStream();
//把输入流转换成bitmap类型对象
bitmap = BitmapFactory.decodeStream(inputStream);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return 1;
}
至于只有返回值为1 我们有下面的代码来返回 之后我们就bitmap类型的对象传给imageView 之后在手机屏幕显现
protected void onPostExecute(Integer result) {
super.onPostExecute(result);
switch (result) {
case 1:
imageView.setImageBitmap(bitmap);
break;
default:
break;
}
}
至于前面的点击事件我们从下面的代码来看看
public class ShowWebPicActivity extends AppCompatActivity {
private Button showbtn;
private ImageView webimgView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_web_pic);
blid();
showbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DownloadImgTask task = new DownloadImgTask(ShowWebPicActivity.this, showbtn, webimgView);
task.execute("http://img31.mtime.cn/mg/2012/10/30/201631.37192876.jpg");
}
});
}
private void blid() {
showbtn = findViewById(R.id.show_btn);
webimgView = findViewById(R.id.pic_img);
}
点击btn事件之后就运行下面的两行代码之后手机屏幕就会被你链接的图片加载在手机屏幕上大功告成