安卓Webservice的使用,首先我们需要webservice 的加包,
ksoap2-android-assembly-3.0.0-RC.4-jar-with-dependencies.jar
在百度上可以直接搜素下载到(实例网址)
http://download.csdn.net/download/eingz/7714291
将需要的加包放在工程的libs的目录下,便可以使用了
import java.io.IOException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
public class WebService {
public static void GetAll(final Callback callback) {
new Thread() {
@Override
public void run() {
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
SoapObject object = new SoapObject("http://tempuri.org/", "GetAll");//第一个参数为固定值,第二个为访问的服务的接口名称,我的为GetAll
//如果需要参数,则在object中添加如下的样式
//object.addProperty("id", id);
envelope.bodyOut = object;
envelope.dotNet = true;
envelope.setOutputSoapObject(object);
HttpTransportSE httpTransportSE = new HttpTransportSE("http://172.16.7.2:88/WebService1.asmx");//此处为访问发服务器的地址
try {
httpTransportSE.call("http://tempuri.org/GetAll", envelope);
//第一个参数为"http://tempuri.org/方法名称"
SoapObject object2 = (SoapObject) envelope.bodyIn;
String s = object2.getProperty(0).toString();
//s为服务器返回的数据
callback.call(s);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
}
}