public static UserFriendListContainer getFriendList(SoapObject wizardobject)//TESTED
{
UserFriendListContainer container= new UserFriendListContainer();
List<UserFriendListModel> list= new ArrayList();
String currobj= wizardobject.getProperty("FriendListResult").toString();
Log.v("CurrentObjet+++++++",currobj.toString());
container.setParserResult(currobj);
SoapObject result = (SoapObject)wizardobject;
for(int i=0;i<result.getPropertyCount();i++)
{
SoapObject object = (SoapObject)wizardobject.getProperty(i);//here it is break
Log.v("result:::::",result.toString());
Log.v("obj:::::",object.toString());
Log.v("friendID",object.getProperty("friendid").toString());
String friendID=object.getProperty("friendid").toString();
Log.v("friendname",object.getProperty("friendname").toString());
String friendname=object.getProperty("friendname").toString();
Log.v("lastaction",object.getProperty("lastaction").toString());
String lastaction=object.getProperty("lastaction").toString();
Log.v("friendphoto",object.getProperty("friendphoto").toString());
String friendphoto=object.getProperty("friendphoto").toString();
UserFriendListModel model=new UserFriendListModel();
model.setfriendID(friendID);
model.setfriendName(friendname);
model.setfriendPhoto(friendphoto);
model.setLastAction(lastaction);
list.add(model);
}
container.setList(list);
return container;
}
}
-----
<message name="FriendListRequest"/>
<message name="FriendListResponse">
<part name="FriendListResult" type="tns:FirendListArray"/>
</message>
моя xml-часть из webservice - это то, что один. Я пытаюсь получить доступ к моему списку друзей путем парсинга. Я не мог понять.. Когда им отладка была нарушена в "SoapObject object = (SoapObject) wizardobject.getProperty(i)".. Я хочу знать, как могу ли я разобрать один список, который я беру из webservice? Спасибо за вашу помощь заранее...
public static UserFriendListContainer getfriendlist(SoapObject wizardobject) throws XmlPullParserException, IOException {
UserFriendListContainer container= new UserFriendListContainer();
UserFriendListModel model = new UserFriendListModel();
List<UserFriendListModel> list= null;
list=new ArrayList<UserFriendListModel>();
Vector vector = (Vector) wizardobject.getProperty("FriendListResult");
Log.v("vector+++++++",vector.toString());
System.out.println("vectorsize+++++++"+vector.size());
int count=vector.size();
for (int i = 0; i <count; ++i) {
SoapObject test=(SoapObject)vector.get(i);
Log.v("test+++++++",test.toString());
Log.v("friendid",test.getProperty("friendid").toString());
String friendID=test.getProperty("friendid").toString();
Log.v("friendname",test.getProperty("friendname").toString());
String friendname=test.getProperty("friendname").toString();
Log.v("lastaction",test.getProperty("lastaction").toString());
String lastaction=test.getProperty("lastaction").toString();
Log.v("friendphoto",test.getProperty("friendphoto").toString());
String friendphoto=test.getProperty("friendphoto").toString();
model.setfriendID(friendID);
model.setfriendName(friendname);
model.setfriendPhoto(friendphoto);
model.setLastAction(lastaction);
list.add(model);
}
container.setList(list);
System.out.println("List==="+list);
return container;
}
Привет, ребята, После стольких усилий я нашел свой ответ. Я могу разобрать свой массив с кодом выше. Спасибо за интерес.
Вы уверены, что wizardobject.getProperty(i)
возвращает SoapObject?? Я бы попробовал с помощью String или просто отлаживал его, не делая кастинг, и посмотрел, какой он объект.
Проверьте это → Документация SoapObject
Кстати, это удобно, если вы отправляете трассировку стека ошибок.