HttpClient

来源:互联网 发布:如何下载linux系统 编辑:程序博客网 时间:2024/05/17 12:00
public class Fragment02 extends Fragment {    String url = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10";    private List<Result.NewslistEntity> list = new ArrayList<>();    private ListView lv2;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view=inflater.inflate(R.layout.fragment02,container,false);        lv2 = (ListView) view.findViewById(R.id.lv2);        intodata();        return view;    }    private void intodata() {        new Ac().execute(url);    }    class Ac extends AsyncTask<String, View, String> {        private String data;        private String str;        @Override        protected String doInBackground(String... params) {            String param = params[0];            try {                SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVerifier());                HttpClient hc = new DefaultHttpClient();                HttpGet hg = new HttpGet(param);                HttpResponse response = hc.execute(hg);                int code = response.getStatusLine().getStatusCode();                if (code == 200) {                    HttpEntity result = response.getEntity();                    str = EntityUtils.toString(result);                }            } catch (Exception e) {                e.printStackTrace();            }            //4.判断返回码            return str;        }        @Override        protected void onPostExecute(String s) {            Gson gson = new Gson();            Result bean = gson.fromJson(s, Result.class);            List<Result.NewslistEntity> newslist = bean.getNewslist();            list.addAll(newslist);            Log.e("SSSS+list", list.toString() + "dsdffgfd");            adapter adapter = new adapter();            lv2.setAdapter(adapter);        }    }    class adapter extends BaseAdapter {        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int position) {            return list.get(position);        }        @Override        public long getItemId(int position) {            return position;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            View view = View.inflate(getActivity(), R.layout.item2, null);            TextView tv = view.findViewById(R.id.tv2);            ImageView im = view.findViewById(R.id.im2);            tv.setText(list.get(position).getDescription());            String picPath = list.get(position).getPicUrl();            new MyPicTask(im).execute(picPath);            return view;        }    }    class MyPicTask extends AsyncTask<String, Void, Bitmap> {        private ImageView img;        public MyPicTask(ImageView img) {            this.img = img;        }        @Override        protected Bitmap doInBackground(String... params) {            try {                URL url = new URL(params[0]);                HttpURLConnection connection = (HttpURLConnection) url.openConnection();                if (connection.getResponseCode() == 200) {                    InputStream stream = connection.getInputStream();                    Bitmap bitmap = BitmapFactory.decodeStream(stream);                    return bitmap;                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(Bitmap bitmap) {            super.onPostExecute(bitmap);            img.setImageBitmap(bitmap);        }    }}