Android 一种简单的双精度串行化方法?

Android 一种简单的双精度串行化方法?,android,soap,ksoap2,Android,Soap,Ksoap2,我正在使用ksoap,我想将android收集的位置信息发送给ksoap。我想尽量避免使用marshall类等,有没有一种简单的方法可以序列化并将double发送到我的soap xml?我尝试过使用String.valueof,但是它会抛出一个错误,所以我假设我不能使用它。我向decimal类型的xml传递double也是一个问题吗 这是我要发送到的xml文件: <s:element name="Customerlocation_AddNew"> <s:complexType&

我正在使用ksoap,我想将android收集的位置信息发送给ksoap。我想尽量避免使用marshall类等,有没有一种简单的方法可以序列化并将double发送到我的soap xml?我尝试过使用String.valueof,但是它会抛出一个错误,所以我假设我不能使用它。我向decimal类型的xml传递double也是一个问题吗

这是我要发送到的xml文件:

<s:element name="Customerlocation_AddNew">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Token" type="s:string" /> 
<s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" /> 
<s:element minOccurs="1" maxOccurs="1" name="latitude" type="s:decimal" /> 
<s:element minOccurs="1" maxOccurs="1" name="longitude" type="s:decimal" /> 
<s:element minOccurs="1" maxOccurs="1" name="StatusId" type="s:int" /> 
</s:sequence>
</s:complexType>
</s:element>

你为什么要避免使用Marshal?!有一个专门用于传输浮动的实现marshallfloat。如果您真的不想使用封送,请查看封送浮点实现!在您的情况下,您应该使用以下内容:

request.addProperty(“经度”,新的BigDecimal(经度).toString())

编辑: 记录您的请求\响应以找出错误:

 Log.d("test", "request: " + httpTransport .requestDump);
 Log.d("test", "response: " + httpTransport .responseDump);
并尝试以下操作以获取结果对象:

SoapObject result = (SoapObject) envelope.bodyIn;

希望这有帮助。祝你好运

我会实现它,然后很快给你回复。看起来我已经做到了,但是我在回复中收到了一个错误。我想我的soap表单可能有问题。
SoapObject result = (SoapObject) envelope.bodyIn;