第一行代码 网络请求部分按照书本来仍然操作失败求解.....
难道是我漏了什么么?为什么这段代码运行到onclick事件的“sendHttprequest”方法就不再执行了?(textview只显示了“1”和“2”,原本按下按钮触发的sendHTTPrequest方法的“3”没有出现)不明白啊,求大神....代码如下:
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import org.w3c.dom.Text;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.logging.LogRecord;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button button;
private TextView tx;
public static final int SHOW_RESPONES = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
tx = (TextView) findViewById(R.id.textView);
button.setOnClickListener(this);
tx.setText("1");
}
public void onClick(View view) {
if (view.getId() == R.id.button) {
sendHttpRequest();
tx.setText("2");
}
}
private void sendHttpRequest() {
tx.setText("4");
new Thread(new Runnable() {
@Override
public void run() {
HttpURLConnection connection = null;
try {
URL url = new URL("http://www.baidu.com");
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("Get");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder respones = new StringBuilder();
String line;
tx.setText("3");
while ((line = reader.readLine()) != null) {
respones.append(line);
}
Message message = new Message();
message.what = SHOW_RESPONES;
message.obj = respones.toString();
handler.sendMessage(message);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
Log.d("?", "??");
}
}
}
}).start();
}
private Handler handler = new Handler() {
//Why protected
public void handleMessage(Message message) {
switch (message.what) {
case SHOW_RESPONES:
String respones = (String) message.obj;
tx.setText("daole");
tx.setText(respones);
Log.d("haha","hahaha");
}
}
};
}
权限: <uses-permission android:name="android.permission.INTERNET"/>