何时使用Soapobject和SoapPrimitive

时间:2013-05-16 09:32:57

标签: android soap ksoap2 android-ksoap2 ksoap

我最近一直在与ksoap2合作。

我仍然感到疑惑SoapObjectSoapPrimitive之间的确切区别是什么。

何时使用它们。

我猜它与字符串和数组有关。这是真的吗?

我找到了一些链接,但感到困惑。

任何人都可以告诉我差异,以及何时使用最简单的英语形式?

谢谢:)

1 个答案:

答案 0 :(得分:18)

当我们需要获取类型的响应时,使用

SoapObject ,如Customer,Product等。(从SoapObject中,您需要迭代SoapResponse中的值。) SoapPrimitive 用于整数数据类型,如Integer,Boolean。

例如,在以下代码中,我期望SoapResponse的布尔值:

SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
Boolean status = Boolean.valueOf(response.toString());

在下面的代码中,我需要将Response作为对象获取:

SoapObject response = (SoapObject) envelope.getResponse();
Log.d("Response", response.toString());
int count = response.getPropertyCount();

for (int i = 0; i < count; i++) {
    userObj = new User(response.getProperty(1).toString(),
                       Double.parseDouble(response.getProperty(2).toString()));  
}