2013-05-16 16 views
12

Ich habe in letzter Zeit mit ksoap2 gearbeitet.Wann SoapObject und SoapPrimitive verwenden

Ich bin immer noch verwirrt, was ist der genaue Unterschied zwischen SoapObject und SoapPrimitive.

Und wann man sie benutzt.

Ich denke, es ist etwas mit String und Arrays zusammen. Ist es wahr?

Ich fand einige Links, aber ich war verwirrt.

Kann jemand mir den Unterschied sagen und wann man welches in der einfachsten Form von Englisch benutzt?

Thanks :)

+5

SoapObject -> Verwendet, wenn die Antwort wie Serilazed Klasse wie Kunde, Produkt ......... SoapPrimitive-> verwendet, wenn die Antwort wie Primitive Datentyp wie int, boolean, String –

Antwort

17

SoapObject verwendet wird, wenn wir die Antwort für ein Klasse-Typ erhalten müssen, wie Kunde, Produkt usw. (Von der SoapObject Sie müssen über die Werte innerhalb des SoapResponse iterieren.) SoapPrimitive wird für Primitive Datentypen wie Integer, Boolean verwendet.

Zum Beispiel in dem folgenden Code ich einen Booleschen Wert von SoapResponse erwarten:

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

Und im folgenden Code, ich brauche die Antwort als Objekt zu erhalten:

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

gr8..thnks ... bt Willen wird plz aufwendige 'Serialisierte Klasse' – Shachi

+2

Wenn Sie WebServic erstellen e Wenn Sie die Antwort als Kundenklasse zurückgeben möchten, müssen Sie die Kundenklasse Serialisierbar machen. dann können wir nur dasselbe in der Klientenanwendung –

+0

verbrauchen Das ist eine nette Antwort und es sollte als eine korrekte Antwort markiert werden. Direkt auf den Punkt, ich mag es. @AkshayJoy –

Verwandte Themen