• HttpURLConnection 请求网络 || HttpUtils 请求网络


    String get_path = "请求网址";
            Handler handler = new Handler() {
                public void handleMessage(android.os.Message msg) {
                    MyBean mybean = (MyBean) msg.obj;
                };
            };
            new Thread() {
                public void run() {

                    try {
                        // 得到URL对象,设置要访问的路径
                        URL url = new URL(get_path);
                        // 得到联网操作类,HttpURLConnection
                        HttpURLConnection openConnection = (HttpURLConnection) url
                                .openConnection();
                        // 设置连接超时,以毫秒为单位
                        openConnection.setConnectTimeout(5000);
                        // 设置请求方式,有GET和POST
                        openConnection.setRequestMethod("GET");
                        // 设置读取超时,以毫秒为单位
                        openConnection.setReadTimeout(5000);
                        // 开始连接
                        openConnection.connect();
                        // 通过响应码判断是否连接成功
                        if (openConnection.getResponseCode() == 200) {
                            // 得到服务器返回的数据,是以流的形式返回的
                            InputStream inputStream = openConnection
                                    .getInputStream();
                            BufferedReader bufferedReader = new BufferedReader(
                                    new InputStreamReader(inputStream));
                            // 接受流里面的数据
                            String readData;
                            // 拼接流里的数据,保证数据是完整的
                            StringBuilder builder = new StringBuilder();
                            // 使用while循环,读取流里的数据,当流里的数据被读取完毕的时候跳出循环
                            while ((readData = bufferedReader.readLine()) != null) {
                                builder.append(readData);
                            }
                            String stringData = builder.toString();
                            Gson gson = new Gson();
                            MyBean mybean = gson.fromJson(stringData, MyBean.class);
                            // 由于android子线程不能更新UI,所以要发送数据到主线程处理
                            Message message = Message.obtain();
                            message.obj = mybean;
                            handler.sendMessage(message);
                        }
                    } catch (MalformedURLException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }

                };
            }.start();

    ******************************************************************************************************************

    HttpUtils httpUtils = new HttpUtils();
            httpUtils.send(HttpMethod.POST, "", params,
                    new RequestCallBack<String>() {
                        @Override
                        public void onFailure(HttpException arg0, String arg1) {
                            // TODO Auto-generated method stub
                        }
                        @Override
                        public void onSuccess(ResponseInfo<String> arg0) {
                            // TODO Auto-generated method stub
                            String string = arg0.result;                
                        }
                    });

  • 相关阅读:
    程序猿身边有个漂亮女程序媛~~~那是种什么样的体验?
    前端程序猿分九段,一段又一段,你是哪一段?
    10个屌炸天的设计网址导航带你嗨翻科技设计界 #精选前端开发设计素材
    人工智能一定高大上?盘点那些让人哭笑不得的人工智障 #精选黑科技人工智能
    javascript奇技淫巧之位运算符
    曾经的超级明星类库jQuery未来也许不再会被前端程序猿追捧了!
    谷歌为什么把上十亿行代码都放在一个仓库里
    全功能响应式模板:黑暗元素
    程序员的福音,AI可以自动修复bug了!
    机器学习原来如此有趣:如何故意欺骗神经网络
  • 原文地址:https://www.cnblogs.com/cuizhe/p/5405581.html
Copyright © 2020-2023  润新知