android平台webservice示例

合集下载

android调用WebService接口详解

android调用WebService接口详解

Android调用WebServiceWebService是一种基于SOAP协议的远程调用标准,通过webservice可以将不同操作系统平台、不同语言、不同技术整合到一块。

在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。

PC版本的WEbservice客户端库非常丰富,例如Axis2,CXF等,但这些开发包对于Android系统过于庞大,也未必很容易移植到Android系统中。

因此,这些开发包并不是在我们的考虑范围内。

适合手机的WebService客户端的SDK有一些,比较常用的有Ksoap2,可以从/p/ksoap2-android/downloads/list进行下载;将下载的ksoap2-android-assembly-2.4-jar-with-dependencies.jar包复制到Eclipse工程的lib目录中,当然也可以放在其他的目录里。

同时在Eclipse工程中引用这个jar包。

具体调用调用webservice的方法为:(1)指定webservice的命名空间和调用的方法名,如:SoapObject request =new SoapObject(http://service,”getName”);SoapObject类的第一个参数表示WebService的命名空间,可以从WSDL文档中找到WebService的命名空间。

第二个参数表示要调用的WebService方法名。

(2)设置调用方法的参数值,如果没有参数,可以省略,设置方法的参数值的代码如下:Request.addProperty(“param1”,”value”);Request.addProperty(“param2”,”value”);要注意的是,addProperty方法的第1个参数虽然表示调用方法的参数名,但该参数值并不一定与服务端的WebService类中的方法参数名一致,只要设置参数的顺序一致即可。

android之客户端与webservice的json方式交互

android之客户端与webservice的json方式交互
上面四条规则,就是J面积为16800平方公里,常住人口1600万人。上海市的面积为6400平方公里,常住人口1800万。"
写成json格式就是这样:
[ {"城市":"北京","面积":16800,"人口":1600}, {"城市":"上海","面积":6400,"人口":1800}
nnnnnnnnn //Like 是 JSONObject nnnnnnnnn "\"Like\" : {"+ nnnnnnnnnnn "\"Name\" : \"加内特\","+ nnnnnnnnnnn "\"Height\" : \"2.11cm\","+ nnnnnnnnnnn "\"Age\" : 35"+ nnnnnnnnn "},"+ nnnnnnn nnnnnnnnn //LikeList 就是一个 JSONObject nnnnnnnnn "\"LikeList\":" + nnnnnnnnnnnnn "{\"List\": " + nnnnnnnnnnnnn "["+ nnnnnnnnnnnnnnnnnnn //这里也是JSONObject nnnnnnnnnnnnnnnnn "{"+ nnnnnnnnnnnnnnnnnnn "\"Name\" : \"Rose\","+ nnnnnnnnnnnnnnnnnnn "\"Height\" : \"190cm\","+ nnnnnnnnnnnnnnnnnnn "\"Age\" : 23"+ nnnnnnnnnnnnnnnnn "},"+ nnnnnnnnnnnnnnnnn //这里也是JSONObject nnnnnnnnnnnnnnnnn "{"+ nnnnnnnnnnnnnnnnnnn "\"Name\" : \"科比\","+ nnnnnnnnnnnnnnnnnnn "\"Height\" : \"198cm\","+ nnnnnnnnnnnnnnnnnnn "\"Age\" : 33"+ nnnnnnnnnnnnnnnnn "}"+ nnnnnnnnnnnnn "]"+ nnnnnnnnnnnnn "}"+ nnnnnnnnn "}"; nnnnnnn nnnnnnn try { nnnnnnnnnnn JSONObject dataJson = new JSONObject(str); nnnnnnnnnnn Log.d(TAG, dataJson.getString("日期")); nnnnnnnnnnn nnnnnnnnnnn JSONObject nbaJson = dataJson.getJSONObject("Like"); nnnnnnn nnnnnnnnnnn Log.d(TAG, nbaJson.getString("Name")); nnnnnnnnnnn Log.d(TAG, nbaJson.getString("Height")); nnnnnnnnnnn Log.d(TAG, nbaJson.get("Age").toString()); nnnnnnnnnnn nnnnnnnnnnn JSONObject listJson = dataJson.getJSONObject("LikeList"); nnnnnnnnnnn JSONArray arrayJson = listJson.getJSONArray("List"); nnnnnnnnnnn nnnnnnnnnnn for(int i=0;i<arrayJson.length();i++) { nnnnnnnnnnnnnnn nnnnnnnnnnnnnnn JSONObject tempJson = arrayJson.optJSONObject(i); nnnnnnnnnnnnnnn nnnnnnnnnnnnnnn Log.d(TAG, tempJson.getString("Name")); nnnnnnnnnnnnnnn Log.d(TAG, tempJson.getString("Height")); nnnnnnnnnnnnnnn Log.d(TAG, tempJson.getString("Age").toString());nnn nnnnnnnnnnn } nnnnnnnnnnn nnnnnnnnnnn nnnnnnn } catch (JSONException e) { nnnnnnnnnnn System.out.println("Something wrong..."); nnnnnnnnnnn e.printStackTrace(); nnnnnnn } nnn } }

(整理)Android配合WebService访问远程数据库.

(整理)Android配合WebService访问远程数据库.

Android与服务器端数据交互(1)采用HttpClient向服务器端action请求数据,当然调用服务器端方法获取数据并不止这一种。

WebService 也可以为我们提供所需数据,那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合到一起。

实现Android与服务器端数据交互,我们在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF 等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,做过JAVA ME的人都知道有KSOAP这个第三方的类库,可以帮助我们获取服务器端webService调用,当然KSOAP已经提供了基于android版本的jar包了,那么我们就开始吧:首先下载KSOAP包:1.ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar然后新建android项目:并把下载的KSOAP包放在android项目的lib目录下:右键->buildpath->configure build path--选择Libraries,如图:以下分为七个步骤来调用WebService方法:1、实例化SoapObject 对象,指定webService的命名空间(从相关WSDL文档中可以查看命名空间),以及调用方法名称。

如://命名空间private static final String serviceNameSpace="http://WebXml.c /";//调用方法(获得支持的城市)private static final String getSupportCity="getSupportCity";//实例化SoapObject对象SoapObject request=new SoapObject(serviceNameSpace, getSuppor tCity);2、假设方法有参数的话,设置调用方法参数1.request.addProperty("参数名称","参数值");3、设置SOAP请求信息(参数部分为SOAP协议版本号,与你要调用的webService中版本号一致):1.//获得序列化的Envelope2. SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);3. envelope.bodyOut=request;4、注册Envelope,1.(new MarshalBase64()).register(envelope);5、构建传输对象,并指明WSDL文档URL:1.//请求URL2. private static final String serviceURL="http://www.web/webservices/weatherwebservice.asmx";3.//Android传输对象4. AndroidHttpTransport transport=new AndroidHttpTransport(serviceURL);5. transport.debug=true;6、调用WebService(其中参数为1:命名空间+方法名称,2:Envelope对象):1.transport.call(serviceNameSpace+getWeatherbyCityName, envelope);7、解析返回数据:1.if(envelope.getResponse()!=null){2. return parse(envelope.bodyIn.toString());3. }4./**************5.* 解析XML6. * @param str7.* @return8.*/9.private static List<String> parse(String str){10. String temp;11. List<String> list=new ArrayList<String>();12. if(str!=null && str.length()>0){13. int start=str.indexOf("string");14. int end=stIndexOf(";");15. temp=str.substring(start, end-3);16. String []test=temp.split(";");17. for(int i=0;i<test.length;i++){18. if(i==0){19. temp=test[i].substring(7);20. }else{21. temp=test[i].substring(8);22. }23. int index=temp.indexOf(",");24. list.add(temp.substring(0, index));25. }26. }27. return list;28.}这样就成功啦。

webservice例子

webservice例子

webservice例子【实用版】目录1.WebService 简介2.WebService 的例子3.WebService 的应用场景4.WebService 的未来发展正文【1.WebService 简介】WebService 是一种通过互联网提供服务的应用程序,它使用标准化的协议,如 SOAP(简单对象访问协议)和 WSDL(Web 服务描述语言),以便在各种操作系统和编程语言中进行通信。

WebService 旨在使不同的应用程序和组织之间更轻松地共享数据和功能。

【2.WebService 的例子】一个典型的 WebService 例子是天气预报服务。

这个服务可以通过WebService 提供给其他应用程序,这些应用程序可以使用该服务查询特定地区的天气预报。

在这个例子中,WebService 接收一个地区的名字作为输入,然后返回该地区的天气预报作为输出。

【3.WebService 的应用场景】WebService 可以广泛应用于各种场景,例如:- 电子商务:在线商店可以使用 WebService 来处理订单,支付和发货。

- 社交媒体:WebService 可以帮助社交媒体平台共享数据和功能,例如,Facebook 可以使用 WebService 来提供照片共享和好友推荐功能。

- 企业应用程序:公司可以使用 WebService 来共享内部数据和应用程序,例如,销售团队可以使用 WebService 来访问客户数据库。

【4.WebService 的未来发展】随着互联网的不断发展,WebService 也在不断进化。

未来的WebService 将更加灵活和可扩展,可以更好地支持不同的应用程序和编程语言。

Android调用WebService实例

Android调用WebService实例

Android调用天气预报的WebService简单例子下面例子改自网上例子:/ruanko-express_34/technologyexchange5.html不过网上这个例子有些没有说明,有些情况不一样了,所以我重新写了。

一、获取并使用KSOAP包在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。

PC版本的WebService库非常丰富,但这些对Android来说过于庞大。

适合手机的WebService客户端的SDK有一些,比较常用的是KSOAP2。

KSOAP2 地址:/p/ksoap2-android/我下载的最新的是:ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar注意:我在使用ksoap2-android时犯了一个低级错误:使用时报错误:The import org.ksoap2 cannot be resolved。

当时分析这个问题时一直以为是Eclipse出了问题,找了好多方法都不行,实际是我下载的ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar文件是错误的导致的,走了弯路。

在/p/ksoap2-android/wiki/HowToUse?tm=2页面通过鼠标右键链接另存为存的是同名的一个纯文本的Html文件。

而不是我们想要的。

我是在/p/ksoap2-android/source/browse/m2-repo/com/google/c ode/ksoap2-android/ksoap2-android-assembly/2.5.4/ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar点View raw file 才正确下载对应文件的。

Android使用HttpURLConnection调用WebService接口

Android使用HttpURLConnection调用WebService接口

Android使用HttpURLConnection调用WebService接口在Android中,可以使用HttpURLConnection类来调用WebService接口。

HttpURLConnection是Java中用于发送和接收HTTP请求的基本类,而WebService是一种支持跨网络的远程调用技术,可以在不同平台之间进行通信。

HttpURLConnection可以通过HTTP协议与WebService接口进行通信。

下面是使用HttpURLConnection调用WebService接口的步骤:1. 创建URL对象:首先,需要创建一个URL对象,将WebService的URL地址作为参数传递给URL构造函数。

例如:``````2. 打开连接:通过URL对象的openConnection方法打开与WebService的连接。

该方法会返回一个HttpURLConnection对象,可以通过类型转换来获取具体的对象。

```HttpURLConnection connection = (HttpURLConnection)url.openConnection(;```3. 设置请求方法:使用setRequestMethod方法设置请求的方法,常用的方法有GET和POST。

GET方法用于获取WebService返回的数据,而POST方法用于向WebService发送数据。

```connection.setRequestMethod("POST");```4. 设置请求参数:如果使用POST方法发送数据,需要设置请求的参数。

可以通过设置connection的OutputStream来发送数据。

```connection.setDoOutput(true);DataOutputStream outputStream = newDataOutputStream(connection.getOutputStream();outputStream.writeBytes("param1=value1&param2=value2");outputStream.flush(;outputStream.close(;```5. 获取响应数据:使用getInputStream方法获取WebService的响应数据。

webservice例子

webservice例子

webservice例子Web Service 例子在计算机科学领域,Web Service 是一种通过网络进行通信的软件系统,它使用标准的 HTTP 协议进行交互。

Web Service 提供了一种跨平台、跨语言的通信方式,使得不同系统之间能够进行数据的交换和共享。

下面是一些常见的 Web Service 例子,用来说明 Web Service的用途和实际应用:1. 天气预报 Web Service天气预报 Web Service 可以提供实时的天气数据,用于在应用程序中显示天气信息。

开发者可以通过调用相应的 API 来获取天气数据,并将其显示在自己的应用中。

这样的 Web Service 为用户提供了方便的天气查询功能。

2. 地图服务 Web Service地图服务 Web Service 可以提供地理位置信息和地图数据。

开发者可以通过调用地图服务的 API 来获取地图数据,并将其集成到自己的应用中,实现地理位置的标注、搜索等功能。

3. 汇率转换 Web Service汇率转换 Web Service 可以提供实时的汇率数据,用于货币之间的转换。

开发者可以通过调用汇率转换的 API 来获取最新的汇率数据,并在自己的应用中进行汇率的计算和转换。

4. 新闻订阅 Web Service新闻订阅 Web Service 可以提供实时的新闻内容,用于在应用程序中展示最新的新闻信息。

开发者可以通过调用新闻订阅的 API 来获取最新的新闻数据,并将其展示在自己的应用中。

5. 社交媒体 Web Service社交媒体 Web Service 可以提供用户的社交关系和动态数据。

开发者可以通过调用社交媒体的 API 来获取用户的朋友列表、动态更新等数据,并将其展示在自己的应用中。

6. 在线支付 Web Service在线支付 Web Service 可以提供安全的支付功能,用于用户在应用中进行在线支付。

开发者可以通过调用在线支付的 API 来实现用户的支付请求,并与支付平台进行交互,完成支付流程。

webservice接口实例

webservice接口实例

webservice接口实例WebService接口实例是一种在不同的操作系统和编程语言之间进行通信的技术,它通过利用XML(可扩展标记语言)来实现跨平台的数据交换。

不同的Web应用程序可以通过SOAP(简单对象访问协议)协议来在网络中发送和接收消息。

下面,我们将通过以下步骤来介绍如何使用WebService接口。

第一步:创建Web服务首先,我们需要在.NET环境中创建一个Web服务应用程序。

使用Visual Studio中的文件菜单选项,在应用程序中添加一个新的Web服务。

我们可以通过添加Web服务引用来使用Web服务。

在Visual Studio中选中“添加引用”,选择“Web引用”,并输入WebService的URL链接。

此时,您将可以通过“命名空间”引用Web服务。

第二步:添加Web服务引用在Visual Studio中,通过添加Web服务引用来使用Web服务。

选中“添加引用”,选择“Web引用”,并输入WebService的URL链接。

此时,您将可以通过“命名空间”引用Web服务。

第三步:实现Web服务方法在Web服务应用程序中,我们必须实现Web服务方法,该方法将处理请求并返回数据。

在方法中,必须定义相关的参数,包括:请求参数、响应参数及返回值。

为了调用Web服务方法,必须发送一条请求并等待Web服务响应。

第四步:测试Web服务在Visual Studio中,可以通过单元测试工具来测试Web服务是否正常运行。

您可以创建一个单元测试项目,以测试Web服务是否返回与预期的结果相同的结果。

第五步:使用WebService接口通过添加Web服务引用,并调用Web服务方法,可以在应用程序中使用WebService接口。

通过使用相关的命名空间,Web服务中的方法可以在应用程序中 freely地调用。

综上所述,在使用WebService接口时,我们需要创建一个Web 服务应用程序,添加Web服务引用,实现Web服务方法,测试Web服务并最终在应用程序中使用WebService接口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

package com.study.ws;
import java.io.IOException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.AndroidHttpTransport;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class WSClient extends Activity {
private Button search;
private EditText phone;
private TextV iew result;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.main);
search=(Button)findView ById(R.id.search);
phone=(EditText)findView ById(R.id.phone);
result=(TextView)findViewById(R.id.result);
search.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String strPhone=phone.getText().toString().trim();
if(!(strPhone.length()==0||strPhone.equals("")))
{
String str = "";
try {
str = getPhoneInfo(strPhone);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
result.setText(str);
}
}
});
}
public String getPhoneInfo(String phoneName) throws IOException, XmlPullParserException
{
//返回的查询结果
String result = null;
//调用webservice接口的名称空间
String nameSpace="/";
//调用的方法名
String methodName="getMobileCodeInfo";
//将方法名和名称空间绑定在一起
String SOAP_ACTION = nameSpace + methodName;
//获得返回请求对象
SoapObject request = new SoapObject(nameSpace, methodName);
//设置需要返回请求对象的参数
request.addProperty("mobileCode", phoneName);
request.addProperty("userId", "");
//设置soap的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
//设置是否调用的是dotNet开发的
envelope.dotNet = true;
//
envelope.bodyOut = request;
AndroidHttpTransport hts = new AndroidHttpTransport("/WebServices/MobileCodeWS.asmx"); // web service请求
hts.call(SOAP_ACTION, envelope);
// 得到返回结果
Object o = envelope.getResponse();
result = o.toString();
return result; }
}。

相关文档
最新文档