我的问题是这样的:我有一个SoapObject。我已经成功地通过它迭代找到不同的嵌套元素和对象(我想?)救了他们...解析对象数组的kSoap响应
我的代码是这样的:
if(sResult != null)
{
SoapObject soapresults = (SoapObject)sResult.getProperty(0);
int count = soapresults.getPropertyCount();
ChildStatus[] children = new ChildStatus[count];
for (int i = 0; i < count; i++)
{
SoapObject kid = (SoapObject)soapresults.getProperty(i);
ChildStatus childStatus = new ChildStatus();
SoapObject value = (SoapObject)kid.getProperty("Value");
SoapObject info = (SoapObject)value.getProperty("Info");
childStatus.CheckOutPlanned = value.getPropertyAsString("CheckOutPlannedTime");
childStatus.CurrentStatus = value.getPropertyAsString("CurrentStatus");
childStatus.FullName = info.getPropertyAsString("FullName");
childStatus.ID = info.getPropertyAsString("Id");
childStatus.KindergardenID = info.getPropertyAsString("KindergardenId");
childStatus.URL = info.getPropertyAsString("ThumbnailUrl");
String pickUpBy = value.getPropertyAsString("PickUpBy");
if(pickUpBy.equalsIgnoreCase("anyType{}"))
{
System.out.println("Ja");
pickUpBy = "none";
} else if(pickUpBy.equalsIgnoreCase("En anden forælder"))
{
childStatus.PickUpWithKidID = value.getPropertyAsString("PickUpWithKidId");
childStatus.PickUpWithKidName = value.getPropertyAsString("PickUpWithKidName");
}
childStatus.PickUpBy = value.getPropertyAsString("PickUpBy");
children[i] = childStatus;
}
System.out.println("Size: " + children.length);
,我的目标是:
public class ChildStatus implements KvmSerializable
{
public String CheckOutPlanned;
public String CurrentStatus;
public String FullName;
public String ID;
public String KindergardenID;
public String URL;
public String PickUpBy;
public String PickUpWithKidID;
public String PickUpWithKidName;
public ChildStatus(){}
public ChildStatus(String checkOutPlanned, String currentStatus, String fullName, String id, String kindergardenID, String url, String pickUpBy, String pickUpWithKidID, String pickUpWithKidName)
{
CheckOutPlanned = checkOutPlanned;
CurrentStatus = currentStatus;
FullName = fullName;
ID = id;
KindergardenID = kindergardenID;
URL = url;
PickUpBy = pickUpBy;
PickUpWithKidID = pickUpWithKidID;
PickUpWithKidName = pickUpWithKidName;
}
public Object getProperty(int arg0) {
// TODO Auto-generated method stub
switch(arg0)
{
case 0:
return CheckOutPlanned;
case 1:
return CurrentStatus;
case 2:
return FullName;
case 3:
return ID;
case 4:
return KindergardenID;
case 5:
return URL;
case 6:
return PickUpBy;
case 7:
return PickUpWithKidID;
case 8:
return PickUpWithKidName;
}
return null;
}
public int getPropertyCount() {
// TODO Auto-generated method stub
return 9;
}
public void getPropertyInfo(int index, Hashtable arg1, PropertyInfo info) {
// TODO Auto-generated method stub
switch(index)
{
case 0:
info.type = PropertyInfo.STRING_CLASS;
info.name = "CheckOutPlanned";
break;
case 1:
info.type = PropertyInfo.STRING_CLASS;
info.name = "CurrentStatus";
break;
case 2:
info.type = PropertyInfo.STRING_CLASS;
info.name = "FullName";
break;
case 3:
info.type = PropertyInfo.STRING_CLASS;
info.name = "ID";
break;
case 4:
info.type = PropertyInfo.STRING_CLASS;
info.name = "KindergardenID";
break;
case 5:
info.type = PropertyInfo.STRING_CLASS;
info.name = "URL";
break;
case 6:
info.type = PropertyInfo.STRING_CLASS;
info.name = "PickUpBy";
break;
case 7:
info.type = PropertyInfo.STRING_CLASS;
info.name = "PickUpWithKidID";
break;
case 8:
info.type = PropertyInfo.STRING_CLASS;
info.name = "PickUpWithKidName";
break;
default:
break;
}
}
public void setProperty(int index, Object value) {
// TODO Auto-generated method stub
switch(index)
{
case 0:
CheckOutPlanned = value.toString();
break;
case 1:
CurrentStatus = value.toString();
break;
case 2:
FullName = value.toString();
break;
case 3:
ID = value.toString();
break;
case 4:
KindergardenID = value.toString();
break;
case 5:
URL = value.toString();
break;
case 6:
PickUpBy = value.toString();
break;
case 7:
PickUpWithKidID = value.toString();
break;
case 8:
PickUpWithKidName = value.toString();
break;
default:
break;
}
}
}
现在我该如何使用类中的对象数组?
我看到的地方,我需要做这样的事情:
ArrayList<MyClass> myList = new ArrayList<MyClass>();
myList.add(new MyClass());
myList.get(0).myMethodFromMyClass();
所以在我的情况:
ArrayList<ChildStatus> myChild = new ArrayList<ChildStatus>();
myChild.add(new ChildStatus());
myChild.get(0).??
但我想我可能会在一些错误的方向离开这里,因为与.add它听起来像我添加一个新的对象,并没有得到那些我在我的网络调用检索...
在iOS我通常使用:
Status *theStatus = [statusConnection.statusArray objectAtIndex:i];
从对象的数组中获取一个对象,但我相当新的到Android ...
我真的很感激任何帮助,您可以给我!
参考链接[http://stackoverflow.com/questions/19198017/pass-arraylist-data-into-soap-web-service-in-android](http://stackoverflow.com/questions/19198017/pass-arraylist-数据进入肥皂web服务在android)任何想法如何可以将数组数据传递给android中的SOAP服务? –