AsyncTask

来源:互联网 发布:马克斯cms 资源站 编辑:程序博客网 时间:2024/06/02 01:14
AsyncTask加载图片在最下边注释了,改为了ImageLoader加载图片,可以看.
public class MainActivity extends AppCompatActivity {    Button bt_client;    Button bt_connection;    ListView lv;    List<Bean.NewslistBean> newslist;    private ImageLoader imaloa;    private DisplayImageOptions dlio;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        bt_client = (Button) findViewById(R.id.bt_Client);        bt_connection = (Button) findViewById(R.id.bt_Connection);        lv = (ListView) findViewById(R.id.listview_lv);        bt_client.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                bt_conect();            }        });        bt_connection.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                bt_conect();            }        });        imaloa = ImageLoader.getInstance();        dlio = new DisplayImageOptions.Builder().build();    }    private void bt_conect() {        new MyAsyonTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");    }    class MyAsyonTask extends AsyncTask<String,Void,String>{        @Override        protected void onPreExecute() {            super.onPreExecute();        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Gson gs = new Gson();            Bean bean = gs.fromJson(s, Bean.class);            newslist = bean.getNewslist();            lv.setAdapter(new MyAdpt());        }        @Override        protected void onProgressUpdate(Void... values) {            super.onProgressUpdate(values);        }        @Override        protected String doInBackground(String... strings) {            try {                URL url = new URL(strings[0]);                HttpURLConnection huc = (HttpURLConnection) url.openConnection();                if(huc.getResponseCode()==200){                    InputStream inputStream = huc.getInputStream();                    BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));                    StringBuilder sb = new StringBuilder();                    String s = "";                    while((s=br.readLine())!=null){                        sb.append(s);                    }                    String s1 = sb.toString();                    return s1;                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }    }    class MyAdpt extends BaseAdapter{        @Override        public int getCount() {            return newslist.size();        }        @Override        public Object getItem(int i) {            return newslist.get(i);        }        @Override        public long getItemId(int i) {            return i;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            Adpt ad;            Bean.NewslistBean bn = newslist.get(i);            if(view==null){                view =  View.inflate(MainActivity.this,R.layout.listview_shitu,null);                ad = new Adpt();                ad.imag = view.findViewById(R.id.img_listview);                ad.textv = view.findViewById(R.id.text_title);                ad.textv2 = view.findViewById(R.id.text_time);                view.setTag(ad);            }else{                ad = (Adpt) view.getTag();            }            //new ImgAsyinTask(ad.imag).execute(bn.getPicUrl());            imaloa.displayImage(bn.getPicUrl(),ad.imag);            ad.textv.setText(bn.getTitle());            ad.textv2.setText(bn.getCtime());            return view;        }    }    class Adpt{        ImageView imag;        TextView textv;        TextView textv2;    }    /*class ImgAsyinTask extends AsyncTask<String,Void,Bitmap>{        ImageView im;        public ImgAsyinTask(ImageView im) {            this.im = im;        }        @Override        protected void onPreExecute() {            super.onPreExecute();        }        @Override        protected void onPostExecute(Bitmap bitmap) {            super.onPostExecute(bitmap);            im.setImageBitmap(bitmap);        }        @Override        protected void onProgressUpdate(Void... values) {            super.onProgressUpdate(values);        }        @Override        protected Bitmap doInBackground(String... strings) {            try {                URL u = new URL(strings[0]);                HttpURLConnection htu = (HttpURLConnection) u.openConnection();                if(htu.getResponseCode()==200){                    InputStream inputStream = htu.getInputStream();                    Bitmap bitmap = BitmapFactory.decodeStream(inputStream);                    return bitmap;                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }    }*/}
原创粉丝点击