ImageLoadAsyncTask.java11

来源:互联网 发布:淘宝店铺怎么打开 编辑:程序博客网 时间:2024/05/18 00:03
package com.example.imageloaddislocationlistview.utils;


import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;


import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;




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


    private NetworkBitmapListener networkBitmapListener;
    public ImageLoadAsyncTask(NetworkBitmapListener networkBitmapListener){
        this.networkBitmapListener = networkBitmapListener;
    }


    public interface NetworkBitmapListener{


        void callBitmap(Bitmap bitmap);
    }










    @Override
    protected void onPostExecute(Bitmap bitmap) {
        super.onPostExecute(bitmap);


        //回到bitmap
        networkBitmapListener.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(5000);
            connection.setReadTimeout(5000);


            int code = connection.getResponseCode();


            if(code == HttpURLConnection.HTTP_OK){
                InputStream is = connection.getInputStream();


                return BitmapFactory.decodeStream(is);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }




        return null;
    }


}