• 安卓中使用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);
        }
      });
    }
    }

  • 相关阅读:
    How to disable daily upgrade and clean on Ubuntu 16.04
    跟李沐学Ai 03 安装【动手学深度学习v2】
    When using 'npm' it requires me to login to github
    Wrong detect of Parsing error: invalid-first-character-of-tag-name in expression.
    18.04: a stop job is running for unattended upgrades shutdown
    NCSC recommend against forcing regular password expiry,
    OWASP Testing for Weak Password Policy--> When must a user change their password
    NIST Special Publication 800-63: Digital Identity Guidelines Frequently Asked Questions
    Mo Tu We Th Fr Sa Su
    工程变更-ECN,ECO,ECR,ECA
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/9172595.html
Copyright © 2020-2023  润新知