我正在尝试使用 kSOAP2 将字符串数组从 Web 服务发送到 Android 应用程序。 使用 kSOAP2,我在 android 端收到对象格式的响应。现在我想将此对象转换为字符串数组格式,以便我可以将此数组直接传递给 GridView。
我的Web服务方法如下:
[WebMethod]
public string[] getit(string status)
{
string[] result;
if (status == "blue")
result = new string[] { "One", "Two", "Three", "Four" };
else
result = new string[] { "five", "six", "Seven", "Eight" };
return result;
}
我的Android代码如下:
public void call(String status)
{
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("status",status.toString());
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
Object result = (Object)envelope.getResponse();
array1=(String []) result; //This statement does not work
}
}
在android代码中array1是全局声明的字符串数组。字符串数组1[]; 我想将 Object 结果转换为 array1 字符串数组。 提前致谢。
最佳答案
现在我想不出一个好的例子。您应该检查返回的对象。但我猜它是一个内部有属性的 SoapObject
SoapObject result = (SoapObject)envelope.getResponse();
那么我想如果你打电话
String s = (String)result.getProperty(0);
您将获得返回数组的第一个元素。
当然,您应该进行必要的错误处理。
关于java - 将使用 SOAP 从 (C# .net) Web 服务接收的对象转换为 Android 中的字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11628613/