使用AsyncTask 自定义加载图片(接口回调)
来源:互联网 发布:深圳市网络诈骗 编辑:程序博客网 时间:2024/06/03 21:26
package com.example.viewpagerbanner.utils;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.AsyncTask;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;public class ImageLoadAsyncTask extends AsyncTask<String,Void,Bitmap>{ /** * 定义一个图片的接口回调 */ public interface ImageCallBack{ void callBitmap(Bitmap bitmap); } //定义变量记住调用者所传递进来的回调监听对象 private ImageCallBack imageCallBack; //构造方法 public ImageLoadAsyncTask(ImageCallBack imageCallBack){ this.imageCallBack = imageCallBack; } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); if(bitmap != null){ //设置图片 回调回去 imageCallBack.callBitmap(bitmap); } } @Override protected Bitmap doInBackground(String... params) { try { String path = params[0]; URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(5*1000); connection.setReadTimeout(5*1000); //服务器响应 int code = connection.getResponseCode(); if(code == HttpURLConnection.HTTP_OK){//判断服务器是否连接成功并相应 //图片流 InputStream is = connection.getInputStream(); //将图片流转化成Bitmap位图,返回 return BitmapFactory.decodeStream(is); } } catch (IOException e) { e.printStackTrace(); } return null; }}//Activity 中调用public class MainActivity extends AppCompatActivity { private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.image); getasynctask("http://img.juhe.cn/cookbook/s/1/45_b6d7329b703f6e85.jpg"); } public void getasynctask(String url){ LoadAsynctask loadAsynctask=new LoadAsynctask(new LoadAsynctask.Loadimage() { @Override public void image(Bitmap bitmap) { imageView.setImageBitmap(bitmap); } }); loadAsynctask.execute(url); }}
0 0
- 使用AsyncTask 自定义加载图片(接口回调)
- 使用AsyncTask自定义图片加载类
- 使用AsyncTask加载图片
- 使用AsyncTask加载图片
- Android 使用 AsyncTask异步加载 和 接口回调 获取联网获取到的 图片 工具类
- 使用AsyncTask异步加载图片
- 使用AsyncTask 加载网络图片
- Android开发之图片处理专题(二):利用AsyncTask和回调接口实现图片的异步加载和压缩
- 使用AsyncTask异步更新UI界面(加载网络图片)
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
- [Android] AsyncTask使用实例---加载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- AsyncTask使用实例---加载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- Android 7.0 系统应用提前获得runtime-granted permission
- URI和URL的区别
- 51nod1305
- 轻社群系统“ThinkSNS + ”移动端产品研发播报
- 史上全详细制作远程推送证书以及用极光进行远程推送教程
- 使用AsyncTask 自定义加载图片(接口回调)
- 既然iOS原生支持二维码扫描了,为什么不用??
- {图}好看的progressBar
- IP头,TCP头,UDP头,MAC帧头定义
- 可视化培训时变数据篇:当时间变化后,数据呈现的是这样的美图
- ZOJ 3964 Yet Another Game of Stones (博弈)
- 进阶篇_类型打包专家tuple
- 刷leetcode 经历与总结
- ## Nginx 配置