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);
        }
      });
    }
    }

  • 相关阅读:
    程序员的7中武器
    需要强化的知识
    微软中国联合小i推出MSN群Beta 不需任何插件
    XML Notepad 2006 v2.0
    Sandcastle August 2006 Community Technology Preview
    [推荐] TechNet 广播 SQL Server 2000完结篇
    《太空帝国 4》(Space Empires IV)以及 xxMod 英文版 中文版 TDM Mod 英文版 中文版
    IronPython 1.0 RC2 更新 1.0.60816
    Microsoft .NET Framework 3.0 RC1
    《Oracle Developer Suite 10g》(Oracle Developer Suite 10g)V10.1.2.0.2
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/9172595.html
Copyright © 2011-2022 走看看