使用WebService虽然可以很容易地传递数据,但也会受到很多限制,例如,由于WebService使用了XML格式传输数据,因此,在传递二进数据时必须将数据进行编码才能进行传递。这样将会使数据量明显增大,而且还会面临不同的WebService引擎不兼容的问题。 一种更灵活的数据传输方式:HTTP。虽然WebService也是通过HTTP进行传输的,但对用户却是透明的。而通过HTTP可以直接来控制传输的过程。
HTTP是Internet中广泛使用的协议。几乎所有的语言和SDK都会不同程度地支持HTTP, 例如,HttpURLConnection、HttpGet、HttpPost等。
提交HTTP GET和HTTP POST请求
首先要介绍一下OPhone SDK集成的Apache HttpClient模块。要注意的是,这里的Apache HttpClient模块是HttpClient 4.0(org.apache.http.*),而不是Jakarta Commons HttpClient 3.x(org.apache.commons.httpclient.*)。
在HttpClient模块中涉及到了两个重要的类:HttpGet和HttpPost。这两个类分别用来提交HTTP GET和HTTP POST请求.
现在我们要通过HttpGet和HttpPost向QueryServlet提交请求信息,服务器端代码详见地址:
http://blog.csdn.net/lego2816/article/details/6691811
并将返回结果显示在TextView组件中。无论是使用HttpGet,还是使用HttpPost,都必须通过如下3步来访问HTTP资源。
1.创建HttpGet或HttpPost对象,将要请求的Url通过构造方法传入HttpGet或HttpPost对象。
2.使用DefaultHttpClient类的execute方法发送HTTP GET或HTTP POST请求,并返回HttpResponse对象。
3.通过HttpResponse接口的getEntity方法返回响应信息,并进行相应的处理。
如果使用HttpPost方法提交HTTP POST请求,还需要使用HttpPost类的setEntity方法设置请求参数。
测试代码块如下:
String url = "http://192.168.17.82:8080/querybooks/QueryServlet";
HttpResponse httpResponse = null;
// 提交HTTP GET请求
// 向url添加请求参数
url += "?bookname= 乔布斯自传";
// 第1步:创建HttpGet对象
HttpGet httpGet = new HttpGet(url);
// 第2步:使用execute方法发送HTTP GET请求,并返回HttpResponse对象
httpResponse = new DefaultHttpClient().execute(httpGet);
// 判断请求响应状态码,状态码为200表示服务端成功响应了客户端的请求
if (httpResponse.getStatusLine().getStatusCode() == 200)
{
// 第3步:使用getEntity方法获得返回结果
String result = EntityUtils.toString(httpResponse.getEntity());
// 去掉返回结果中的“\r”字符,否则会在结果字符串后面显示一个小方格
// tvQueryResult.setText(result.replaceAll("\r", ""));
}
// 提交HTTP POST请求
// 第1步:创建HttpPost对象
HttpPost httpPost = new HttpPost(url);
// 设置HTTP POST请求参数必须用NameValuePair对象
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("bookname", "乔布斯自传"));
// 设置HTTP POST请求参数
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
// 第2步:使用execute方法发送HTTP POST请求,并返回HttpResponse对象
httpResponse = new DefaultHttpClient().execute(httpPost);
if (httpResponse.getStatusLine().getStatusCode() == 200)
{
// 第3步:使用getEntity方法获得返回结果
String result = EntityUtils.toString(httpResponse.getEntity());
// 去掉返回结果中的“\r”字符,否则会在结果字符串后面显示一个小方格
// tvQueryResult.setText(result.replaceAll("\r", ""));
}
分享到:
相关推荐
### 应用系统之间的几种数据传输方式 #### 一、数据传输方式概述 随着SOA(面向服务架构)的普及,应用系统之间的交互越来越频繁。为了确保这些交互能够高效、安全地进行,需要选择合适的数据传输方式。本文将详细...
### 一种自适应无线移动自组织网络数据传输方法 #### 概述 本文提出了一种针对无线移动自组织网络(MANET)的自适应数据传输方法。该方法旨在解决网络节点密度变化对数据传输效率的影响问题。随着节点密度的变化,...
1. **C#编程语言**:C#是一种面向对象的编程语言,由微软公司开发,广泛应用于Windows平台上的应用开发。在本项目中,C#被用作开发数据传输工具的主要语言,它提供了丰富的类库和语法特性,使得开发高效、稳定的程序...
### 无线数据传输的组网方式 #### 一、引言 随着信息技术的发展,无线数据传输技术已经...随着无线通信技术的不断发展和完善,未来的无线数据传输组网方式将会更加灵活多样,为用户提供更高效、可靠的通信解决方案。
PCIE是一种广泛应用于计算机系统中的高速接口标准,它为设备提供了高带宽、低延迟的数据传输路径,特别适合于对速度有严格要求的FPGA应用。 首先,我们需要理解PCI Express(PCIE)的基础知识。PCIE是一种串行总线...
本文将详细介绍几种常见的应用系统间数据传输方式,并针对每种方式的特点、优缺点进行分析。 #### 二、数据传输的基本要素 在探讨具体的传输方式之前,我们需要了解数据传输的基本要素: 1. **传输方式**:指数据...
根据提供的文件信息,本文将详细解析“电子通信设计资料一种无线数据传输方案及实现”的相关知识点,主要包括无线数据传输的基本概念、方案设计思路以及其实现方法等。 ### 一、无线数据传输概述 #### 1.1 定义 ...
2. **动态资源分配策略**:设计一种灵活的资源分配算法,能够在不影响其他服务的同时,为需要发送小包数据的终端分配必要的资源。这种策略应该能够根据网络负载和终端需求的变化进行动态调整。 3. **移动场景下的...
* 无线USB(WUSB)是一种无线总线技术,使用超宽带技术(UWB)和脉冲调制方式,具有高速数据传输速率和低功耗特点。 * CYWUSB6935是Cypress公司推出的一款支持WUSB标准的芯片,具有高达62.5 kbps的数据传输速率和低...
- **UDP(User Datagram Protocol,用户数据报协议)**:提供一种不可靠但速度快的数据传输服务,适用于实时应用。 #### 四、GPRS数字传输模块设计 - **设计特点**: - 支持GPRS网络和短信两种工作模式。 - ...
串口通常采用RS-232、RS-485或USB-to-Serial等标准,其中RS-232是最常见的一种,用于短距离、低速的数据传输。 在串口通讯中,每个数据位(bit)按照固定的时钟信号依次发送,包括起始位、数据位、奇偶校验位和停止...
在标题中提到的“webservice数据传输方式Xfire”,主要指的是利用Xfire来构建Web服务接口,实现数据的发送和接收。Xfire采用了Java编程语言,并且充分利用了Java的XML处理库,如JAXB(Java Architecture for XML ...
为了解决这些问题,本文介绍了一种基于USB接口的无线数据传输系统,它不仅利用了USB接口的高传输速率和即插即用特性,还结合了无线数据传输技术,实现了高效、便捷的无线数据通讯。 #### 关键技术与优势 **1. USB...
GPRS(General Packet Radio Service)是一种基于GSM网络的分组交换技术,能够提供连续的数据传输服务。在GPRS网络的支持下,数据传输模块可以实现高速、双向的数据通信,广泛应用于远程监控、工业自动化、智能电网...
微型计算机接口和外设的数据...微型计算机接口和外设的数据传输是计算机系统中的一个重要组件,它们之间的数据传输方式有多种,每种方式都有其优缺点和使用场合。选择合适的数据传输方式可以提高系统的性能和可靠性。
本文探讨了一种基于GPRS(通用分组无线服务)的远程无线数据传输技术,在智能油田数据信息采集系统中的应用。GPRS作为一种2.5G网络技术,在当前的无线通信领域占有重要地位,尤其是在数据传输方面。与传统的GSM网络...
该方案主要通过Cortex-M3处理器STM32F10XXX组成的硬件开发平台和专用无线传输单芯片nRF24L01实现,可以在特殊场合,如不能采用有线的数据传输方式时,采用短距离无线数据传输方式。这种方式具有不用布线、快速布局、...
根据提供的文件信息,本文将详细解析“电子通信设计资料一种点对多点无线数据传输系统的设计”的关键知识点。 ### 一、点对多点无线数据传输系统的概念 点对多点无线数据传输系统是一种能够实现单个发射端与多个...
在计算机网络通信中,UDP(User Datagram Protocol,用户数据报协议)是一种无连接的、不可靠的传输层协议,它提供了比TCP(Transmission Control Protocol,传输控制协议)更快的数据传输方式。由于UDP不进行连接...