new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
httptest();
}
}).run();
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
tvHello.setText((CharSequence) msg.obj);
}
<pre class="java" name="code">private void httptest() {
String url = "http://www.baidu.com";
URL obj;
try {
obj = new URL(url);
HttpURLConnection con;
try {
con = (HttpURLConnection) obj.openConnection();
// optional default is GET
con.setRequestMethod("GET");
// add request header
// con.setRequestProperty("User-Agent", USER_AGENT);
con.connect();
int responseCode = con.getResponseCode();
System.out.println("\nSending 'GET' request to URL : "
+ url);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// print result
System.out.println(response.toString());
Message msg = handler.obtainMessage();
msg.obj = response.toString();
handler.sendMessage(msg);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
已经将http请求封装在worker thread,但是不小心将thread的启动写成了run。
改成start 即OK。