[关闭]
@Senl 2017-04-01T13:47:12.000000Z 字数 2226 阅读 1196

3.31 学习进度

技术学习


Java

Android

贴一下源码 如果有大佬愿意指导一二不尽感激

  1. package com.example.senl.httpurlconnectiontest;
  2. import android.support.v7.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.Button;
  6. import android.widget.TextView;
  7. import java.io.BufferedReader;
  8. import java.io.IOException;
  9. import java.io.InputStream;
  10. import java.io.InputStreamReader;
  11. import java.net.HttpURLConnection;
  12. import java.net.MalformedURLException;
  13. import java.net.ProtocolException;
  14. import java.net.URI;
  15. import java.net.URL;
  16. public class MainActivity extends AppCompatActivity implements View.OnClickListener {
  17. TextView responseText;
  18. @Override
  19. protected void onCreate(Bundle savedInstanceState) {
  20. super.onCreate(savedInstanceState);
  21. setContentView(R.layout.activity_main);
  22. Button sendRequest = (Button) findViewById(R.id.send_request);
  23. responseText = (TextView) findViewById(R.id.response_text);
  24. sendRequest.setOnClickListener(this);
  25. }
  26. @Override
  27. public void onClick(View v) {
  28. if (v.getId() == R.id.send_request) { //如果按下的是send_request 这个按钮,就可以会发送请求
  29. sendRequestWithHttpURLConnection();
  30. // responseText.setText("1");
  31. }
  32. }
  33. private void sendRequestWithHttpURLConnection() {
  34. // 开启线程来发送网络请求
  35. new Thread(new Runnable() {
  36. @Override
  37. public void run() {
  38. HttpURLConnection connection = null;
  39. BufferedReader reader = null;
  40. try{
  41. URL url = new URL("https://www.baidu.com");
  42. //对connection属性进行设置
  43. connection = (HttpURLConnection) url.openConnection();
  44. connection.setRequestMethod("GET");
  45. connection.setConnectTimeout(8000);
  46. connection.setReadTimeout(8000);
  47. InputStream in = connection.getInputStream();
  48. //下面对获取到的输入流进行读取
  49. reader = new BufferedReader(new InputStreamReader(in));
  50. StringBuilder response = new StringBuilder();
  51. String line;
  52. while((line = reader.readLine() ) != null ){
  53. response.append(line);
  54. }
  55. showResponse( response.toString() );
  56. } catch (Exception e) {
  57. e.printStackTrace();
  58. } finally {
  59. if (connection != null){
  60. connection.disconnect();
  61. }
  62. }
  63. }
  64. }).start(); //线程启动
  65. }
  66. private void showResponse(final String s) {
  67. runOnUiThread(new Runnable() {
  68. @Override
  69. public void run() {
  70. //进行UI操作,将结果显示到界面上
  71. responseText.setText(s);
  72. }
  73. });
  74. }
  75. }

后续:原来是因为我的线程没有设置启动方法...

感谢瀚神指导

然后瀚神指出我的代码的缩进也很有问题于是我重新打过一次,设置了缩进

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注