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视频54-57代码 包括web和Android端 仅供学习
java、android http使用post进行提交数据,把数据提交给服务器,服务器通过获取可以存储到数据库
以4中方式提交数据到服务器,分别是get、post、httpclient的get和httpclient的post方式提交数据到服务器
在这我们首先了解Android客户端向服务器提交数据的底层做法。get、post两种方法提交数据,下面我们用示例了解get以及post方式。 需要在布局文件中增加两个个EditText控件和两个登录的Button控件。其中一个Button是...
Android GetPost数据提交实例,发送post必须设置 conn.setDoInput(true);conn.setDoOutput(true);这两行代码,从用户界面提交过来的数据上传到服务器接收,类似于WEB网页提交表单的操作,不过Android有自己独特的...
向服务器提交数据有两种方式,post和get。两者的区别主要有三点,安全性、长度限制、数据结构。其中get请求安全性相比较而言较差,数据长度受浏览器地址栏限制,没有方法体。两种都是较为重要的数据提交方式。现简单...
从学长那得来的,不知道是哪位大神的,感觉很适合新手,让我受益匪浅,侵删哦,(#^.^#)
一般而言,Android 应用在请求数据时都是以 Get 或 Post 等方式向远程服务器发起请求,那你有没有想过其实我们也可以在 Android 设备上搭建一个小型 Web 服务器,并且实现常规的下载图片、下载文件、提交表单等功能...
Android的JSON示例 一、运行环境: 1.服务器端为ASP+Access2003+IIS 2.移动端为Android2.1(大家可...实现通过Post或Get方法向服务器传送数据 服务端: Webroot文件夹 ASP+Access2003 实现对Android端Request的Response
开发项目需要,自己事先写的demo,已备项目中去用,自己通过和iphone后台程序进行测试过。
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...
使用HttpClient开源项目提交参数给服务器 4> 网络--通过HTTP协议实现文件上传 第五天 1> 网络--通过HTTP协议发送XML数据,并调用webservice实现手机号归属地查询 2> 网络--通过HTTP协议实现多线程断点续传下载 3...
3> 如何把数据通过HTTP协议提交到网络上的Web应用(get / post ) 数据大于2k的时候 A.通过Get方式提交参数给Web应用 B.通过Post方式提交参数给Web应用 C.使用HttpClient开源项目提交参数给服务器 4> 网络--通过...
Android开发中,难免会遇到需要加解密一些数据内容存到本地文件、或者通过网络传输到其他服务器和设备的问题,但并不是使用了加密就绝对安全了,如果加密函数使用不正确,加密数据很容易受到逆向破解攻击。...
一般我们提交数据用get 和post方法,这两种方法在上传中有con.setRequestProperty(Charset, UTF-8); 和httppost.setEntity(new UrlEncodedFormEntity(数据,UTF-8));这两中方式来确定编码方式服务器端有request.set...
随时调用传递 强大的界面自定义功能, 内置浏览器代理,自动模拟浏览器IE、FireFox、Android自带浏览器、UC浏览器提交 强大的参数自定义添加,无限参数添加,内部各个位置随时调用 可获取指定列表的数据进行宣传,...
|--数据提交无需权限 |--文件之从服务器下载 |--文件之拷贝文件至某个目录 |--文件之指定编码读写文件 |--文件之释放Assets下的文件到应用的File目录 |--文件之随机存储RandomAccessFile |--文件使用时间排序 |--...
HTML 表单收集美国邮政编码或城市名称,并通过 POST 方法将此表单数据提交给服务器。 在与服务器进行交易之前,使用 Javascript 验证表单以检查空字段和无效条目。 如果输入了无效数据,PHP 脚本就会被杀死。 ...