listview图片异步

来源:互联网 发布:社交软件英语怎么说 编辑:程序博客网 时间:2024/06/05 20:04

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;    }@Overrideprotected void onPreExecute() {    super.onPreExecute();}@Overrideprotected 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;}


                                              



原创粉丝点击