LoadImageAsyncTask

来源:互联网 发布:彩票app源码下载 编辑:程序博客网 时间:2024/06/14 19:14
package com.bwie.bannerdemo.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;

/**
 * Created by Shadow on 2017/7/11.
 */

public class LoadImageAsyncTask extends AsyncTask<String, Void, Bitmap> {


    private CallBackListener listener;
    public interface CallBackListener {
        public void callBack(Bitmap bitmap);
    }

    public LoadImageAsyncTask(CallBackListener listener){
        this.listener=listener;
    }
    @Override
    protected void onPostExecute(Bitmap bitmap) {
        super.onPostExecute(bitmap);

        if(bitmap!=null){
            listener.callBack(bitmap);
        }
    }

    @Override
    protected Bitmap doInBackground(String... strings) {
        try {
            String path=strings[0];
            HttpURLConnection connection = (HttpURLConnection) new URL(path).openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(5*1000);
            connection.setReadTimeout(5*1000);
            if(connection.getResponseCode()==HttpURLConnection.HTTP_OK){

                InputStream is = connection.getInputStream();
                Bitmap bitmap = BitmapFactory.decodeStream(is);
                return bitmap;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}