httpClient

来源:互联网 发布:云豹直播源码搭建教程 编辑:程序博客网 时间:2024/05/14 16:36

 modle的buil.gradle文件中添加    useLibrary 'org.apache.http.legacy'



/**
 * httpClient-- apche 基金会维护的请求网络的工具;

工具类
 */


public class NetUtils {    public static  String getJsonByHttpClientGet (String jsonStr) {        HttpClient httpClient = new DefaultHttpClient();        HttpGet get = new HttpGet(jsonStr);        String json_str = "";        try {            //执行请求            HttpResponse response = httpClient.execute(get);            //得到结果码            int code = response.getStatusLine().getStatusCode();            //响应成功            if(code == 200){                //得到相应结果的对象                HttpEntity entity = response.getEntity();                json_str = EntityUtils.toString(entity);            }        } catch (IOException e) {            e.printStackTrace();        }        return json_str;    }}
public class MainActivity extends AppCompatActivity {    private String json_url = "http://gank.io/api/data/Android/10/1";//数据url    ListView listView;    List<JavaBean.ResultsBean> ral = new ArrayList<>();    @SuppressLint("HandlerLeak")    Handler handler = new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);                String s = (String) msg.obj;            Gson gson = new Gson();            JavaBean javaBean = gson.fromJson(s, JavaBean.class);            List<JavaBean.ResultsBean> results = javaBean.getResults();            ral.addAll(results);            MyAdapter adapter =   new MyAdapter();            listView.setAdapter(adapter);        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        listView = findViewById(R.id.lv);    initData();    }    private void initData() {        //开启子线程 把得到的结果发送到主线程并更新UI进行展示        new Thread(new Runnable() {            @Override            public void run() {                String s = NetUtils.getJsonByHttpClientGet(json_url);            handler.sendMessage(handler.obtainMessage(0,s));            }        }).start();    }    private class MyAdapter extends BaseAdapter{        private ImageView img;        private TextView tv;        @Override        public int getCount() {            return ral.size();        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            if(view == null){                view =View.inflate(MainActivity.this,R.layout.item,null);            }            img = view.findViewById(R.id.img);            if(ral.get(i).getImages() !=null){                //调用显示图片                ImageLoader instance = ImageLoader.getInstance();                instance.displayImage(ral.get(i).getImages().get(0),img);            }else{            }            tv = view.findViewById(R.id.tv);            tv.setText(ral.get(i).getDesc());            return view;        }    }}



原创粉丝点击