zoukankan      html  css  js  c++  java
  • httpclient + AsyncTask 请求数据 || httpclient + handler 请求数据

    public class MyAsy extends AsyncTask<String, Integer, String> {

        private String json;

        @Override
        protected String doInBackground(String... params) {
            // TODO Auto-generated method stub
            // 实例化HttpClient
            HttpClient client = new DefaultHttpClient();
            // 设置请求方式
            HttpGet httpGet = new HttpGet(params[0]);
            try {
                // 请求数据
                HttpResponse execute = client.execute(httpGet);
                // 通过状态行得到状态码
                int statusCode = execute.getStatusLine().getStatusCode();
                // 判断状态码是否是200 是 请求成功
                if (statusCode == 200) {
                    HttpEntity entity = execute.getEntity();
                    // 拿到请求的数据
                    json = EntityUtils.toString(entity);
                }
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            return json;
        }
    }

    // 实例化AsyncTask
            MyAsy myAsy = new MyAsy();
            try {
                // 异步交互拿到数据
                String string = myAsy.execute("  ").get();
            } catch (InterruptedException | ExecutionException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    Handler handler = new Handler() {
                public void handleMessage(android.os.Message msg) {

                    if (msg.what == 1) {
                        String str = (String) msg.obj;

                    }

                };
            };

            new Thread() {

                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    super.run();

                    HttpClient client = new DefaultHttpClient();
                    HttpGet httpGet = new HttpGet("添加网址");
                    try {
                        HttpResponse execute = client.execute(httpGet);

                        int statusCode = execute.getStatusLine().getStatusCode();
                        if (statusCode == 200) {
                            HttpEntity entity = execute.getEntity();
                            String json = EntityUtils.toString(entity);

                            Message msg = Message.obtain();
                            msg.what = 1;
                            msg.obj = json;
                            handler.sendMessage(msg);
                        }

                    } catch (ClientProtocolException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }.start();
           

  • 相关阅读:
    Vue(七)-- 插件
    Vue(六)-- 过滤器、常用内置指令、自定义指令
    Vue(五)-- 生命周期
    Vue(四)-- 事件处理(绑定监听、按键修饰符、取消冒泡、阻止默认事件),v-model的使用
    Two Sum 两数之和
    使用原生JavaScript实现sleep函数
    感恩
    关于AJAX的总结和思考-2
    关于AJAX的一点总结与思考-1
    DNS解析和前端优化点之一
  • 原文地址:https://www.cnblogs.com/cuizhe/p/5405615.html
Copyright © 2011-2022 走看看