Android在网络中与JavaWeb的项目进行交互的方法
最近在研究一些Android和JavaWeb项目的交互问题,总结一点东西在这篇文章里。首先说来,如果想要实现Android在网络上与JavaWeb的交互,就要把JavaWeb的项目的方法暴露在网络中,然后供Android的这一端调用,实现交互,其中,主要用到了两个知识点,WebService和SOAP的使用。
这里我写了一个很简单的小例子来实现交互。
首先,在开发工具中,创建了一个Web Project,一定要对项目添加JAX-WS类库。在代码部分我就只写了一个很简单的计算两个数的和的函数:
package com.demo.pack;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class Calculate {
@WebMethod
public int add(final int num1, final int num2){
return num1 + num2;
}
}
然后,点击下图中的New Web Service,将刚刚写的这个函数放到网络服务上
点击Finish就创建完成了,这个项目的Calculate方法已经被暴露在了网络上,也就是说,可以供Android调用了。
接下来,我再另外创建了一个Android的项目。在这个Android项目中除了Android的自己的库之外,一定还要引入以下的ksoap2-android-assembly-2.4-jar-with-dependencies.jar
这个jar文件可以使Android的项目访问到Web Service,所以必不可少,一定要加入进来。
在Android的这个项目的布局中,我只是添加了两个EditText来得到用户输入的值,和一个Button去调用WebService上已经托管在网络上的Calculate函数来计算结果。
在Button的监听器类当中,编写了和JavaWeb项目交互的代码,主要的部分具体如下:
//WebService中的wsdl文件的网络地址
String wsdl = "http://192.168.1.102:8080/ch10_app01_WebService/CalculatePort?wsdl";
//WebService中的命名空间
String namespace = "http://pack.demo.com/";
//调用方法的名称
String webmethod = "add";
//创建soapObject对象
SoapObject soapObject = new SoapObject(namespace, webmethod);
//设置参数
soapObject.addProperty("arg0", num1);
相关新闻>>
- 发表评论
-
- 最新评论 更多>>