listview图片异步

1.创建类


//文字异步

class MYAytext extends AsyncTask<String,Void,String>
{

    public MYAytext() {
    }

    @Override
    protected String doInBackground(String... strings) {
        return NetWordUtils.getdata(strings[0]);
    }

    @Override
    protected void onPostExecute(String s) {
    super.onPostExecute(s);

    Gson gson=new Gson();
    bean bean = gson.fromJson(s, bean.class);
    list = bean.getData();
    lv.setAdapter(new MyAdapter());
}

    @Override
    protected void onProgressUpdate(Void... values) {
        super.onProgressUpdate(values);
    }

}




//适配器
class MyAdapter extends BaseAdapter{

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int i) {
        return list.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View contextview, ViewGroup viewGroup) {
        View view = View.inflate(MainActivity.this, R.layout.itml, null);
        ImageView iv =(ImageView) view.findViewById(R.id.imageView);
        TextView tv = (TextView) view.findViewById(R.id.tv);
        tv.setText(list.get(i).getNews_title());
        new MAsyncTaskImage(iv).execute(list.get(i).getPic_url());
        return view;
    }
}
//图片异步
class MAsyncTaskImage extends AsyncTask<String,Void,Bitmap>
{
    ImageView iv;

    public MAsyncTaskImage(ImageView imageView) {
        this.iv = imageView;
    }


@Override
protected void onPreExecute() {
    super.onPreExecute();

}

@Override
protected Bitmap doInBackground(String... strings) {
    return NetWordUtils.getbitmap(strings[0]);
}



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

              iv.setImageBitmap(bitmap);

    }

    @Override
    protected void onProgressUpdate(Void... values) {
        super.onProgressUpdate(values);
    }


}



2.工具类


public static String getdata(String urlString)
{

    try {

        URL url = new URL(urlString);
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setRequestMethod("GET");
        urlConnection.setConnectTimeout(8000);
        int responseCode = urlConnection.getResponseCode();
        if(responseCode==200)
        {
            InputStream inputStream = urlConnection.getInputStream();
            StringBuilder stringBuilder = new StringBuilder();
            BufferedReader br=new BufferedReader(new InputStreamReader(inputStream));
            String temp="";
            while((temp=br.readLine())!=null)
            {
                stringBuilder.append(temp);
            }
            String data = stringBuilder.toString();

            return data;
        }else{
            Log.e("wzq","responseCode:"+ responseCode);
        }



    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
    catch (IOException e) {
        e.printStackTrace();
    }
    return  null;
}

public static Bitmap getbitmap(String urlString)
{

    try {
        URL url = new URL(urlString);
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        int code = urlConnection.getResponseCode();
        if(code==200)
        {
            InputStream inputStream = urlConnection.getInputStream();
            Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
            return  bitmap;
        }else{
            Log.e("请求图片","code"+code);
        }

    } catch (IOException e) {
        e.printStackTrace();
    }
 return  null;

}


                                              



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值