`
yuanlanjun
  • 浏览: 1184014 次
文章分类
社区版块
存档分类
最新评论

Android 实现Post向服务器提交数据

 
阅读更多
Android 实现Post向服务器提交数据
熟悉web编程的都很了解get和post这两种传递表单数据的方法。
这里不具体介绍get和post的区别,如需了解请参考。http://www.cnblogs.com/wxf0701/archive/2008/08/17/1269798.html<!--more-->
所谓的get传递数据也是我们最常见的一种,如http://127.0.0.1/index.php?param=androidyue,这种方式直接显示在url中,因此很不安全,
而使用post传递数据则不会直接暴露出来,相对来说更加安全一些。post传递也需要key和value。
以下是android程序示例代码:
package com.google.code.cakedroid.demo;




import java.util.ArrayList;
import java.util.List;


import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
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 com.google.code.cakedroid.R;


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


public class PostMethodDemoActivity extends Activity{
	//declare the variables
	private TextView tvResult;
	private Button btnClick;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		this.initViews();
	}
	
	/*
	 * initialize necessary views
	 */
	private void initViews(){
		this.initButtons();
		this.initTextViews();
	}
	
	/*
	 * initialize necessary textviews
	 */
	private void initTextViews(){
		this.tvResult=(TextView)this.findViewById(R.id.tvResult);
	}
	
	/*
	 * initialize necessary buttons
	 */
	private void initButtons(){
		this.btnClick=(Button)this.findViewById(R.id.btnClick);
		this.btnClick.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				postData();
			}
		});
	}
	
	/*
	 * post data to remote host
	 */
	private void postData(){
		String destUrl="http://10.0.2.2/form_handler.php";
		//instantiate HttpPost object from the url address
		HttpEntityEnclosingRequestBase httpRequest =new HttpPost(destUrl);
	    //the post name and value must be used as NameValuePair
	    List <NameValuePair> params=new ArrayList<NameValuePair>();
	    params.add(new BasicNameValuePair("param","I have posted you the data"));
	    try{
	     httpRequest.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
	     //execute the post and get the response from servers
	     HttpResponse httpResponse=new DefaultHttpClient().execute(httpRequest);
	      
	     if(httpResponse.getStatusLine().getStatusCode()==200){
	      //get the result
	      String strResult=EntityUtils.toString(httpResponse.getEntity());
	      tvResult.setText(strResult);
	     }else{
	      tvResult.setText("Error Response"+httpResponse.getStatusLine().toString());
	     }
	    }catch(Exception e){
	    	System.out.println("error occurs");
	    }
	}
}


服务器断php代码:
<?php
	if(isset($_POST['param'])){
		echo $_POST['param'].'  I received the data';
	}
?>


注意:如果如需正常访问,请在manifest.xml中添加internet访问权限。
分享到:
评论

相关推荐

    Android端使用get post 方法提交数据到服务器demo

    Android端使用get post 方法提交数据到服务器demo 传智播客张泽华Android视频54-57代码 包括web和Android端 仅供学习

    javahttp使用post进行提交数据

    java、android http使用post进行提交数据,把数据提交给服务器,服务器通过获取可以存储到数据库

    提交数据到服务器---android代码

    以4中方式提交数据到服务器,分别是get、post、httpclient的get和httpclient的post方式提交数据到服务器

    详解Android:向服务器提供数据之get、post方式

    在这我们首先了解Android客户端向服务器提交数据的底层做法。get、post两种方法提交数据,下面我们用示例了解get以及post方式。 需要在布局文件中增加两个个EditText控件和两个登录的Button控件。其中一个Button是...

    Android GetPost数据提交实例.rar

    Android GetPost数据提交实例,发送post必须设置 conn.setDoInput(true);conn.setDoOutput(true);这两行代码,从用户界面提交过来的数据上传到服务器接收,类似于WEB网页提交表单的操作,不过Android有自己独特的...

    Android中post和get的提交方式【三种】

    向服务器提交数据有两种方式,post和get。两者的区别主要有三点,安全性、长度限制、数据结构。其中get请求安全性相比较而言较差,数据长度受浏览器地址栏限制,没有方法体。两种都是较为重要的数据提交方式。现简单...

    采用post方式提交数据到服务器及例子

    从学长那得来的,不知道是哪位大神的,感觉很适合新手,让我受益匪浅,侵删哦,(#^.^#)

    在Android设备上搭建Web服务器的方法

    一般而言,Android 应用在请求数据时都是以 Get 或 Post 等方式向远程服务器发起请求,那你有没有想过其实我们也可以在 Android 设备上搭建一个小型 Web 服务器,并且实现常规的下载图片、下载文件、提交表单等功能...

    Android的JSON示例(ASP+Access2003+IIS)

    Android的JSON示例 一、运行环境: 1.服务器端为ASP+Access2003+IIS 2.移动端为Android2.1(大家可...实现通过Post或Get方法向服务器传送数据 服务端: Webroot文件夹 ASP+Access2003 实现对Android端Request的Response

    post提交接口数据,与服务器或者其他应用交互

    开发项目需要,自己事先写的demo,已备项目中去用,自己通过和iphone后台程序进行测试过。

    老罗android视频开发源码和ppt经典

    4.3 http使用Post方式进行提交数据 4.4 http使用apache工具类提交数据 五、 Android解析json数据 5.1 android解析json数据(一) 5.2 android解析json数据(二) 5.3 android使用gson解析 5.4 android使用fastjson...

    黎活明android教程的全程PPT

    使用HttpClient开源项目提交参数给服务器 4&gt; 网络--通过HTTP协议实现文件上传 第五天 1&gt; 网络--通过HTTP协议发送XML数据,并调用webservice实现手机号归属地查询 2&gt; 网络--通过HTTP协议实现多线程断点续传下载 3...

    传智播客Android视频教程-课程源码.rar

    3&gt; 如何把数据通过HTTP协议提交到网络上的Web应用(get / post ) 数据大于2k的时候 A.通过Get方式提交参数给Web应用 B.通过Post方式提交参数给Web应用 C.使用HttpClient开源项目提交参数给服务器 4&gt; 网络--通过...

    Android数据传输中的参数加密代码示例

    Android开发中,难免会遇到需要加解密一些数据内容存到本地文件、或者通过网络传输到其他服务器和设备的问题,但并不是使用了加密就绝对安全了,如果加密函数使用不正确,加密数据很容易受到逆向破解攻击。...

    android和服务器的URLEncodedUtils乱码编码问题的解决方案

    一般我们提交数据用get 和post方法,这两种方法在上传中有con.setRequestProperty(Charset, UTF-8); 和httppost.setEntity(new UrlEncodedFormEntity(数据,UTF-8));这两中方式来确定编码方式服务器端有request.set...

    站长万能助手 v1.8

    随时调用传递 强大的界面自定义功能, 内置浏览器代理,自动模拟浏览器IE、FireFox、Android自带浏览器、UC浏览器提交 强大的参数自定义添加,无限参数添加,内部各个位置随时调用 可获取指定列表的数据进行宣传,...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--数据提交无需权限 |--文件之从服务器下载 |--文件之拷贝文件至某个目录 |--文件之指定编码读写文件 |--文件之释放Assets下的文件到应用的File目录 |--文件之随机存储RandomAccessFile |--文件使用时间排序 |--...

    weather-app:用于天气检索的 Android 和 Web 应用程序

    HTML 表单收集美国邮政编码或城市名称,并通过 POST 方法将此表单数据提交给服务器。 在与服务器进行交易之前,使用 Javascript 验证表单以检查空字段和无效条目。 如果输入了无效数据,PHP 脚本就会被杀死。 ...

Global site tag (gtag.js) - Google Analytics