이 솔루션은 같은 .. 자신의 공급자를 만들 것입니다 :
public class HistoryIQProvider implements IQProvider {
public static final String NAMESPACE = "urn:xmpp:archive";
public static final String ELEMENT_NAME = "list";
public static final String CHAT = "chat";
public static final String START_TIME = "start";
private ArrayList<String> startTimes = new ArrayList<String>();
@Override
public IQ parseIQ(XmlPullParser parser) throws Exception {
boolean stop = false;
String name = parser.getName();
Log.d("Parse", "Name: " + name);
while(false == stop)
{
switch (parser.getEventType())
{
case XmlPullParser.START_TAG:
{
if(ELEMENT_NAME.equals(name)) {
/*** START_TAG = 2
*** END_TAG = 3
***/
while (parser.nextTag() == XmlPullParser.START_TAG) {
/*** Stop when chats is finished.. ***/
if(parser.getName().equals("set")) {
break;
}
String startTime = parser.getAttributeValue(1);
startTimes.add(startTime);
parser.nextTag();
}
}
}
case XmlPullParser.END_TAG:
{
stop = ELEMENT_NAME.equals(name);
break;
}
}
}
name = null;
HistoryIQ historyIQ = new HistoryIQ(startTimes);
return historyIQ;
}
}
HistoryIQ :
public class HistoryIQ extends IQ {
private ArrayList<String> startTimes = new ArrayList<String>();
public HistoryIQ(ArrayList<String> l) {
startTimes = l;
}
@Override
public String getChildElementXML() {
return null;
}
public ArrayList<String> getHistory_Chats() {
Log.d("Parse", "Lists : " + startTimes.size());
return startTimes;
}
}