Когда использовать Soapobject и SoapPrimitive

В последнее время я работаю с ksoap2.

Я все еще смущен, есть ли точная разница между SoapObject и SoapPrimitive.

И когда их использовать.

Я предполагаю, что это связано с строкой и массивами. Это правда?

Я нашел некоторые ссылки, но запутался.

Может ли кто-нибудь сказать мне разницу и когда использовать какой из них в простейшей форме английского?

Спасибо:)

Ответ 1

SoapObject используется, когда нам нужно получить ответ для типа класса, например Customer, Product и т.д. (из SoapObject вам нужно перебирать значения внутри SoapResponse.) SoapPrimitive используется для примитивных типов данных, таких как Integer, Boolean.

Например, в следующем коде я ожидаю логическое значение из SoapResponse:

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

И в следующем коде мне нужно получить ответ как объект:

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()));  
}