`

HTTP GET / POST传递参数——HTTP连接示范

阅读更多
主类代码:
package com.EX08_01;

/*必须引入java.io 与 java.util相关类来读写文件*/
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class EX08_01 extends Activity {
	
	/**声明两个Button对象和一个TextView对象*/
	private Button btnget, btnpost;
	private TextView textview;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		/**通过 findViewById()构造器创建 Button 和TextView 对象*/
		btnget = (Button) findViewById(R.id.btntoget);
		btnpost = (Button) findViewById(R.id.btntopost);
		textview = (TextView) findViewById(R.id.txtviewone);

		/**设置OnClickListener 来兼听 OnClick 事件*/		
		btnpost.setOnClickListener(new Button.OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				// 声明网址字符串
				String uriAPI = "http://www.dubblogs.cc:8751/Android/Test/API/Post/index.php";
				/** 创建 Http post 连接 */
				HttpPost httpRequest = new HttpPost(uriAPI);

				/**Post 运行传递变量必须用 NameValuePair[] 数组存储*/
				List<NameValuePair> params = new ArrayList<NameValuePair>();
				params.add(new BasicNameValuePair("str", "I am post string!"));

				try {
					/** 发出 http request 请求 */
					httpRequest.setEntity(new UrlEncodedFormEntity(params,
							HTTP.UTF_8));

					/** 获取HTTP response 响应 */
					HttpResponse httpresponse = new DefaultHttpClient()
							.execute(httpRequest);

					/**若状态码为 200 则响应成功*/
					if (httpresponse.getStatusLine().getStatusCode() == 200) {
						/** 取出应答字符串 */
						String strResponse = EntityUtils.toString(httpresponse
								.getEntity());
						textview.setText(strResponse);

					}
				} catch (UnsupportedEncodingException e) {
					// TODO Auto-generated catch block
					textview.setText(e.getMessage().toString());
					e.printStackTrace();
				} catch (ClientProtocolException e) {
					// TODO Auto-generated catch block
					textview.setText(e.getMessage().toString());
					e.printStackTrace();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					textview.setText(e.getMessage().toString());
					e.printStackTrace();
				}
			}

		});
		// 发送doGet()请求
		btnget.setOnClickListener(new Button.OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				// 声明网址字符串
				String uriAPI = "http://www.dubblogs.cc:8751/Android/Test/API/Post/index.php";
				/** 创建 Http post 连接 */
				HttpPost httpRequest = new HttpPost(uriAPI);

				List<NameValuePair> params = new ArrayList<NameValuePair>();
				params.add(new BasicNameValuePair("str", "I am get string!"));

				try {
					/** 发出post请求 */
					httpRequest.setEntity(new UrlEncodedFormEntity(params,
							HTTP.UTF_8));

					/** 获取HTTP response请求 */

					HttpResponse httpresponse = new DefaultHttpClient()
							.execute(httpRequest);

					if (httpresponse.getStatusLine().getStatusCode() == 200) {
						/** 取出应答字符串 */
						String strResponse = EntityUtils.toString(httpresponse
								.getEntity());
						textview.setText(strResponse);

					}

				} catch (UnsupportedEncodingException e) {
					// TODO Auto-generated catch block
					textview.setText(e.getMessage().toString());
					e.printStackTrace();
				} catch (ClientProtocolException e) {
					// TODO Auto-generated catch block
					textview.setText(e.getMessage().toString());
					e.printStackTrace();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					textview.setText(e.getMessage().toString());
					e.printStackTrace();
				}
			}

		});
	}
}
主配置文件代码(AndroidManifest.xml):

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.EX08_01"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".EX08_01"
                  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>
    <!-- 添加网络连接权限 -->
    <uses-permission android:name="android.permission.INTERNET">
    </uses-permission>
    <uses-sdk android:minSdkVersion="7" />

</manifest> 

 

 

 

  • 大小: 21.4 KB
分享到:
评论
1 楼 cgs1999 2012-07-31  
doGet部分是错误的,还是使用HttpPost,应该是HttpGet~

相关推荐

    Android与Internet接轨案例源代码

    8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入Gallery...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入Gallery...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入Gallery...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入Gallery...

    Google Android SDK开发范例大全的目录

    8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入Gallery...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入...

    Google+Android+SDK开发范例大全

    第8章 当Android与Internet接轨 8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse ...

    Google Android SDK开发范例大全(完整版)

    8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入Gallery...

    Google Android sdk 开发范例大全 部分章节代码

    8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入Gallery...

    Google Android SDK 开发范例大全01

    8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入Gallery...

    Google Android SDK 开发范例大全02

    8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入Gallery...

Global site tag (gtag.js) - Google Analytics