Http 发送请求和接收响应的流程
1.生成请求对象
HttpGet httpGet = new HttpGet("http://www.baidu.com");
2.生成客户端对象
HttpClient httpClient = new DefaultHttpClient();
3.执行请求
httpResponse = httpClient.execute(httpGet);
4.接受响应
httpEntity = httpResponse.getEntity();
三、实现过程
1.main.xml
<Button
android:id="@+id/Button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="向百度发送请求"
/>
2.MainActivity.java
package com.jianglin.http;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.DefaultClientConnection;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button Button1 = null;
private HttpResponse httpresponse = null;
private HttpEntity httpentity = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button1 = (Button)findViewById(R.id.Button1); //找到Button
Button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//生成一个请求对象
HttpGet httpget = new HttpGet("http://www.baidu.com");
//生成一个Http客户端对象
HttpClient httpClient = new DefaultHttpClient();
//使用Http客户端发送请求对象
InputStream inputstream = null;
try {
httpresponse = httpClient.execute(httpget); //返回一个HttpResponse值
httpentity = httpresponse.getEntity(); //服务器端发回来的响应的内容
inputstream = httpentity.getContent();//拿来响应内容
BufferedReader reader = new BufferedReader(new InputStreamReader(inputstream));
String result = "";
String line = "";
while((line = reader.readLine()) != null);{
result = result + line;
}
System.out.println(result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try{
inputstream.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
});
}
}
3.AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>