手机客户端和服务端通讯的n种方式

手机客户端和服务端通讯的n种方式

ID:11561209

大小:839.03 KB

页数:47页

时间:2018-07-12

手机客户端和服务端通讯的n种方式_第1页
手机客户端和服务端通讯的n种方式_第2页
手机客户端和服务端通讯的n种方式_第3页
手机客户端和服务端通讯的n种方式_第4页
手机客户端和服务端通讯的n种方式_第5页
资源描述:

《手机客户端和服务端通讯的n种方式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、客户端和服务端通讯的N种方式网络编程,2010-09-1510:46:53自从2009年发放3G牌照以来,标志着中国开始进入移动互联网的3G时代。随着移动互联网速度的不断提高,资费不断降低。使得具有联网功能的手机应用程序逐渐成为主流。虽然大多数开发人员都希望在自己的应用中加入网络功能,以便使自己的应用程序赶上移动互联网的浪潮,为应用增加更绚、更酷的亮点。但很多开发人员并不了解如何在自己的应用程序中加入网络功能,或哪种网络技术更适合自己的应用程序。因此,在本系列文章中以OPhone2.0为例全方位地

2、解析手机客户端和服务端通讯的各种方法。除此之外,我们还可以看到如何使用这些通讯技术传递更复杂的数据,例如,传递图像、序列化的对象。在本文会着重介绍我们的第一种通讯方式:WebService。WebService简介WebService是一种基于SOAP协议的远程调用标准。通过WebService可以将不同操作系统平台,不同语言、不同技术整合到一起。在OPhoneSDK中并没有提供调用WebService的库,因此,需要使用第三方SDK来调用WebService。PC版本的WebService客户端

3、库非常丰富,例如,Axis2、CXF等,但这些开发包对于OPhone过于庞大,也未必很容易移植到OPhone上。因此,这些开发包并不在我们考虑的范围内。适合手机的WebService客户端SDK也有一些。本例使用了比较常用的KSOAP2。读者可以从如下的地址下载Android版的KSOAP2,这个版本也同样可以运行在OPhone上。http://code.google.com/p/ksoap2-android/downloads/list将下载后的jar文件复制到OPhone工程的lib目录中(如

4、果没有该目录,可以新建一个,当然,也可以放在其他的目录中)。并在OPhone工程中引用这个jar包,引用后的OPhone工程目录结构如图1所示。 图1 引用ksoap2的jar包 如何调用WebService在引用完Ksoap2的jar包后,我们可以按如下6个步骤来调用WebService方法。1. 指定WebService的命名空间和调用的方法名,例子代码如下:viewplaincopytoclipboardprint?1.SoapObject request = new SoapObject(

5、"http://service", "getName");  SoapObjectrequest=newSoapObject("http://service","getName");SoapObject类的第1个参数表示WebService的命名空间,可以从WSDL文档中找到WebService的命名空间。第2个参数表示要调用的WebService方法名。2. 设置调用方法的参数值,这一步是可选的,如果方法没有参数,可以省略这一步。设置方法的参数值的代码如下: viewplaincopytocli

6、pboardprint?1.request.addProperty("param1", "value1");  1.request.addProperty("param2", "value2");  request.addProperty("param1","value1");request.addProperty("param2","value2");要注意的是,addProperty方法的第1个参数虽然表示调用方法的参数名,但该参数值并不一定与服务端的WebService类中的方法参数名一致,

7、只要设置参数的顺序一致即可。3. 生成调用WebService方法的SOAP请求信息。该信息由SoapSerializationEnvelope对象描述,代码如下: viewplaincopytoclipboardprint?1.SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);  2.envelope.bodyOut = request;  SoapSerializatio

8、nEnvelopeenvelope=newSoapSerializationEnvelope(SoapEnvelope.VER11);envelope.bodyOut=request;创建SoapSerializationEnvelope对象时需要通过SoapSerializationEnvelope类的构造方法设置SOAP协议的版本号。该版本号需要根据服务端WebService的版本号设置。在创建SoapSerializationEnvelope对象后,不要忘了设置SoapSer

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。