zoukankan      html  css  js  c++  java
  • 安卓中使用HttpURLConnection连接网络简单示例 --Android网络编程

    MainActivity.java:

    package thonlon.example.cn.httpurlconnectionpro;

    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;

    public class MainActivity extends AppCompatActivity {

      private Button btn_req;
      private TextView tv_res;

      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
      }

      private void initView() {
        btn_req = (Button) findViewById(R.id.btn_req);
        tv_res = (TextView) findViewById(R.id.tv_res);
      }

      public void onClick(View view) {
        sendRequestHttpURLConnection();
      }

      public void sendRequestHttpURLConnection() {
        new Thread(new Runnable() {
          @Override
          public void run() {
            String urlStr = "https://www.baidu.com";
            HttpURLConnection conn = null;
            BufferedReader reader = null;
            try {
            URL url = new URL(urlStr);
            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setConnectTimeout(8000);
            conn.setReadTimeout(8000);
            InputStream is = conn.getInputStream();
            reader = new BufferedReader(new InputStreamReader(is));
            StringBuilder response = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
            response.append(line);
            }
            showResponse(response.toString());
            } catch (MalformedURLException e) {
              e.printStackTrace();
            } catch (IOException e) {
              e.printStackTrace();
            } finally {
              if (reader != null) {
              try {
                reader.close();
              } catch (IOException e) {
                e.printStackTrace();
              }
            }
            if (conn != null) {
              conn.disconnect();
            }
          }
         }
      }).start();
    }

      private void showResponse(final String response) {
        runOnUiThread(new Runnable() {
        @Override
        public void run() {
          tv_res.setText(response);
        }
      });
    }
    }

  • 相关阅读:
    Mac下使用charles遇到的问题以及解决办法
    webp图片实践之路
    一个粗心的Bug,JSON格式不规范导致AJAX错误
    IE6/7下空div占用空间的问题
    通俗易懂的来讲讲DOM
    Javascript
    简单入门canvas
    HTML5 Boilerplate
    网页字体知识
    备战CKA每日一题——第8天 | initContainer概念、用法、使用场景简介;k8s secret env、volume考题引出
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/9172595.html
Copyright © 2011-2022 走看看