@Senl
2017-04-01T13:47:12.000000Z
字数 2226
阅读 1196
技术学习
贴一下源码 如果有大佬愿意指导一二不尽感激
package com.example.senl.httpurlconnectiontest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;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.ProtocolException;import java.net.URI;import java.net.URL;public class MainActivity extends AppCompatActivity implements View.OnClickListener {TextView responseText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button sendRequest = (Button) findViewById(R.id.send_request);responseText = (TextView) findViewById(R.id.response_text);sendRequest.setOnClickListener(this);}@Overridepublic void onClick(View v) {if (v.getId() == R.id.send_request) { //如果按下的是send_request 这个按钮,就可以会发送请求sendRequestWithHttpURLConnection();// responseText.setText("1");}}private void sendRequestWithHttpURLConnection() {// 开启线程来发送网络请求new Thread(new Runnable() {@Overridepublic void run() {HttpURLConnection connection = null;BufferedReader reader = null;try{URL url = new URL("https://www.baidu.com");//对connection属性进行设置connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");connection.setConnectTimeout(8000);connection.setReadTimeout(8000);InputStream in = connection.getInputStream();//下面对获取到的输入流进行读取reader = new BufferedReader(new InputStreamReader(in));StringBuilder response = new StringBuilder();String line;while((line = reader.readLine() ) != null ){response.append(line);}showResponse( response.toString() );} catch (Exception e) {e.printStackTrace();} finally {if (connection != null){connection.disconnect();}}}}).start(); //线程启动}private void showResponse(final String s) {runOnUiThread(new Runnable() {@Overridepublic void run() {//进行UI操作,将结果显示到界面上responseText.setText(s);}});}}
后续:原来是因为我的线程没有设置启动方法...
感谢瀚神指导
然后瀚神指出我的代码的缩进也很有问题于是我重新打过一次,设置了缩进