Android使用KSOAP调用webservice返回值为integer该怎样调用
3个回答
展开全部
public String login(String username, String password) {
try {
SoapObject rpc = new SoapObject(NAMESPACE, "UserLogin");
rpc.addProperty("account", username);
rpc.addProperty("password", password);
AndroidHttpTransport ht = new AndroidHttpTransport(URL);
ht.debug = true;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
ht.call(NAMESPACE + "UserLogin", envelope);
Object se = (Object) envelope.bodyIn;
SoapObject result = (SoapObject) envelope.bodyIn;
// 这里我们先得到有几个Attribute和Property,一般都是用的Property,这个是传递的参数
// 如果不知道返回的参数有哪些或叫什么名字,我们可以在这里用打断点调试,里面的所有参数名和值都能看到了,再取相应的就行了
int acount = result.getAttributeCount();
int pcount = result.getPropertyCount();
ht.reset();
return result.getProperty(0).toString();
} catch (Exception e) {
e.printStackTrace();
return "0";
}
}
你可以参考下,返回的你可以转型为int,因为webservice返回的都是他的包装类型,你可以进行转换,或者toString以后在 Interge.parse();
try {
SoapObject rpc = new SoapObject(NAMESPACE, "UserLogin");
rpc.addProperty("account", username);
rpc.addProperty("password", password);
AndroidHttpTransport ht = new AndroidHttpTransport(URL);
ht.debug = true;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
ht.call(NAMESPACE + "UserLogin", envelope);
Object se = (Object) envelope.bodyIn;
SoapObject result = (SoapObject) envelope.bodyIn;
// 这里我们先得到有几个Attribute和Property,一般都是用的Property,这个是传递的参数
// 如果不知道返回的参数有哪些或叫什么名字,我们可以在这里用打断点调试,里面的所有参数名和值都能看到了,再取相应的就行了
int acount = result.getAttributeCount();
int pcount = result.getPropertyCount();
ht.reset();
return result.getProperty(0).toString();
} catch (Exception e) {
e.printStackTrace();
return "0";
}
}
你可以参考下,返回的你可以转型为int,因为webservice返回的都是他的包装类型,你可以进行转换,或者toString以后在 Interge.parse();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
该怎么掉用?????怎么理解
追问
服务器给的返回类型为Object[ ]
Object[] result=logi.login("","");
if((Integer)result[0]==1) System.out.printIn("..");
else if((Integer)result[0]==2)System.out.printIn("...");
追答
然后呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你们怎么设计的就怎么用啊
追问
服务器给的返回类型为Object[ ]
Object[] result=logi.login("","");
if((Integer)result[0]==1) System.out.printIn("..");
else if((Integer)result[0]==2)System.out.printIn("...");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询