package com.example.http;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class httpurlconnectionactivity extends Activity implements OnClickListener{
Button cleartextviewButton;
Button httpurlconnectiongetButton;
Button httpurlconnectionpostButton;
static TextView httpurlconnecTextView;
static Handler handler=new Handler(){
public void handleMessage(Message msg) {
switch(msg.what){
case 5:
String response=(String) msg.obj;
httpurlconnecTextView.setText(response);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.httpurlconnecttion_layout);
cleartextviewButton=(Button) findViewById(R.id.cleartextview_button);
httpurlconnectiongetButton=(Button) findViewById(R.id.httpurlconnectionget_button);
httpurlconnectionpostButton=(Button) findViewById(R.id.httpurlconnectionpost_button);
cleartextviewButton.setOnClickListener(httpurlconnectionactivity.this);
httpurlconnectiongetButton.setOnClickListener(httpurlconnectionactivity.this);
httpurlconnectionpostButton.setOnClickListener(httpurlconnectionactivity.this);
httpurlconnecTextView=(TextView) findViewById(R.id.httpurlconnection_textview);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.cleartextview_button:
httpurlconnecTextView.setText("");
break;
case R.id.httpurlconnectionget_button:
sendrequestwithhttpurlconnectionget();
break;
case R.id.httpurlconnectionpost_button:
Toast toast=new Toast(httpurlconnectionactivity.this);
Toast.makeText(httpurlconnectionactivity.this, "暂待实现", Toast.LENGTH_LONG);
toast.show();
default:
break;
}
}
private void sendrequestwithhttpurlconnectionget() {
new Thread(new Runnable() {
@Override
public void run() {
HttpURLConnection httpURLConnection = null;
// TODO Auto-generated method stub
try {
URL url=new URL("http://www.baidu.com");
httpURLConnection=(HttpURLConnection) url.openConnection();
httpURLConnection.setConnectTimeout(8000);
httpURLConnection.setReadTimeout(8000);
httpURLConnection.setDoInput(true);
httpURLConnection.setRequestMethod("Get");
//获取从httpurlconnection得来的输入流
InputStream inputStream=httpURLConnection.getInputStream();
//将输入流读入 读缓冲区
BufferedReader bufferedReader=new BufferedReader
(new InputStreamReader(inputStream));
//设置输入的行
String line;
//将写好的行加入response中
StringBuilder response=new StringBuilder();
while ((line=bufferedReader.readLine())!=null) {
response.append(line);
}
Message message=new Message();
message.what=5;
message.obj=response.toString();
handler.sendMessage(message);
} catch (Exception e) {
// TODO: handle exception
}
finally{
if (httpURLConnection!=null) {
httpURLConnection.disconnect();
}
}
}
}).start();
}
}