`
liangjian103
  • 浏览: 172879 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android http post调用webservice

阅读更多

在网上找了好多的Android与Web服务端的交换,终于找到了一种方式。

Android开发中如何执行一个Post请求。

首先我们先了解下Get请求和Post请求的区别:


表单提交中get和 post方式的区别有5点:
1.get是从服务器上获取数据,post是向服务器传送数据。
2.get是把参数数据队列加到提交表单的 ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3.对于get方式,服务器端用 Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4.get 传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5.get安全性非常低,post安全性较高。


那么接下来让我们看看在Android平台开发中如何执行一个Post请求:

以下是代码示例:

package com.jixuzou.search;
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.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.view.View.OnClickListener;
import android.widget.Button;
public class mian extends Activity {
        /** Called when the activity is first created. */
        private Button btnTest;
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                btnTest = (Button) findViewById(R.id.Button01);
                btnTest.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                                getWeather();
                        }
                });
        }
        private void getWeather(){
                try {
                        final String SERVER_URL = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getWeather"; // 定义需要获取的内容来源地址
                        HttpPost request = new HttpPost(SERVER_URL); // 根据内容来源地址创建一个Http请求
                        List params = new ArrayList();
                        params.add(new BasicNameValuePair("theCityCode", "长沙")); // 添加必须的参数
                        params.add(new BasicNameValuePair("theUserID", "")); // 添加必须的参数
                        request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); // 设置参数的编码
                        HttpResponse httpResponse = new DefaultHttpClient().execute(request); // 发送请求并获取反馈
                        // 解析返回的内容
                        if (httpResponse.getStatusLine().getStatusCode() != 404)
                        {
                                String result = EntityUtils.toString(httpResponse.getEntity());
                                System.out.println(result);
                        }
                } catch (Exception e) {
                }
        }
}

分享到:
评论
2 楼 songfantasy 2011-02-12  
request 就是httpservletrequest吗?
1 楼 songfantasy 2011-02-12  
服务端怎么接受和返回?

相关推荐

    Android 网络数据上传及WebService调用实例集.rar

    Android编程中的网络数据上传及WebService调用集,这里面一共包括了5个例子,分别是:  AndroidInteractWithWebService 通过网络WebService查询手机号码归属地的小示例  ServerForGETMethod 一些获取数据方法的...

    HttpUrlConnection请求WebService.rar

    Java原生HttpUrlConnection访问WebService实例,附相关jar包...新手整理不喜勿喷

    android-基于Webservice实现天气信息获取及源码下载

    花了差不多一天时间,算是获取到了天气信息,主要在于学习使用webservice。...2、基于android调用webservice服务详细步骤实现 博文地址:http://blog.csdn.net/u010156024/article/details/44747953

    android-web-service:库进行http getpost请求调用,仅处理JSON响应并映射到bean

    AndroidWebServiceLibrary 该库进行http get / post请求调用,并且仅处理JSON响应。用法1.Your API class can extend BaseApi for you additional logic or directly create object of BaseApi class public class ...

    集成目前Android主流优秀第三方组件

    WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具类(ToolHTTP.java),get/post请求,支持...

    8天快速掌握Android系列视频之04_开发与 运行(卸载)第一个ANDROID应用

    黑马程序员_8天快速掌握Android视频 总共67个视频教程,包括:02_搭建Android开发环境,03_创建与启动手机模拟器和学习使用ANDROID...HTTP协议实现文件上传,29_发送xml数据和调用webservice,30_多线程下载原理。。。

    黎活明android教程的全程PPT

    第五天 1> 网络--通过HTTP协议发送XML数据,并调用webservice实现手机号归属地查询 2> 网络--通过HTTP协议实现多线程断点续传下载 3> 为应用添加新的Activity与参数传递 4> 意图 第六天 1> Activity的生命周期 ...

    8天快速掌握Android系列视频之07_查看应用输出的错误信息 与如何部署应用到真实手机

    黑马程序员_8天快速掌握Android视频 总共67个视频教程,包括:02_搭建Android开发环境,03_创建与启动手机模拟器和学习使用ANDROID...HTTP协议实现文件上传,29_发送xml数据和调用webservice,30_多线程下载原理。。。

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

    第五天 1> 网络--通过HTTP协议发送XML数据,并调用webservice实现手机号归属地查询 2> 网络--通过HTTP协议实现多线程断点续传下载 3> 为应用添加新的Activity与参数传递 4> 意图 第六天 1> Activity的生命周期 2> ...

    Android集成主流优秀第三方组件框架

    WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具类(ToolHTTP.java),get/post请求,支持...

    Android例子源码集成安卓主流优秀第三方组件框架.zip

    WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具类(ToolHTTP.java),get/post请求,...

    Web Service Tester

    在android 2.0平台上分别使用URLConnection和HttpClient两种方式实现对WebService的Get及Post调用的eclipse工程源代码。

    8天快速掌握Android教程源码

    29_发送xml数据和调用webservice.avi 所在项目:mobileAddressQuery & Web端应用:web 30_多线程下载原理.avi 所在项目:net 31_多线程断点下载器.avi 所在项目:MulThreadDownloader 32_文件断点上传器.avi 所在...

    传智播客的android开发源代码

    29_发送xml数据和调用webservice.avi 所在项目:mobileAddressQuery & Web端应用:web 30_多线程下载原理.avi 所在项目:net 31_多线程断点下载器.avi 所在项目:MulThreadDownloader 32_文件断点上传器.avi 所在...

    集成安卓主流优秀第三方组件框架.zip

    WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具类(ToolHTTP.java),get/post请求,...

    source.zip

    29_发送xml数据和调用webservice.avi 所在项目:mobileAddressQuery & Web端应用:web 30_多线程下载原理.avi 所在项目:net 31_多线程断点下载器.avi 所在项目:MulThreadDownloader 32_文件断点上传器.avi 所在...

    安卓火车时刻查询

    安卓火车时刻查询源码,网上很多实例都是不能用的,于是做了一个简单的火车时刻...PS:由于webservice用Ksoap2调用在手机上的CMNET网络环境不能交互,没有普遍性。所以用了别的接口,用了post请求来获得json数据等。

Global site tag (gtag.js) - Google Analytics