HttpClient和HttpResponse的使用

来源:互联网 发布:php curl模拟post提交 编辑:程序博客网 时间:2024/06/12 01:13

HttpClient :发起Http连接请求的对象,
HttpResponse :Http 请求返回的响应。

 

总的设计思路如下:

发送请求:(HttpResponse)response=(HttpClient)client.execute((HttpGet)request);
获取响应数据:response.getEntity().getContent();

简单的示例举例如下,主要实现获取www.baidu.com的内容: 特别注意要在AndroidManifest.xml添加访问网络的权限!!!

MainActivity.java

package com.android.httpclient;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URI;import java.net.URISyntaxException;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {    /** Called when the activity is first created. */private Button btn;private TextView tv;private String content = null;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                btn = (Button) findViewById(R.id.button1);        tv = (TextView) findViewById(R.id.textView1);        btn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubHttpClient client = new DefaultHttpClient();HttpGet request = new HttpGet("http://www.baidu.com/");try{HttpResponse response = client.execute(request);BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));for(String s = reader.readLine(); s != null; s = reader.readLine()){content += s;}tv.setText(content);}catch (Exception e){e.printStackTrace();}}                });            }}


main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/hello"    /><Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button><TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView></LinearLayout>


AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="com.android.httpclient"      android:versionCode="1"      android:versionName="1.0">    <uses-sdk android:minSdkVersion="1" /><uses-permission android:name="android.permission.INTERNET"/>    <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".MainActivity"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>    </manifest>

原创粉丝点击