第一行代码 网络请求部分按照书本来仍然操作失败求解.....

aic1999 2016-12-13 08:28:30
难道是我漏了什么么?为什么这段代码运行到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"/>

...全文
225 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧