===============utils包下的pull解析=====================
package com.example.yuekao3.utils;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import com.example.yuekao3.bean.Nwes;
public class PullData {
public static List<Nwes> getPull(InputStream is) {
List<Nwes> list = null;
Nwes ne = null;
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
parser.setInput(is, "UTF-8");
int type = parser.getEventType();
while (type != XmlPullParser.END_DOCUMENT) {
String name = parser.getName();
switch (type) {
case XmlPullParser.START_DOCUMENT:
list = new ArrayList<Nwes>();
break;
case XmlPullParser.START_TAG:
if (name.equals("tweet")) {
ne = new Nwes();
} else if (name.equals("id")) {
// id int类型
ne.id = parser.nextText();
} else if (name.equals("portrait")) {
ne.portrait = parser.nextText();
} else if (name.equals("author")) {
ne.author = parser.nextText();
} else if (name.equals("body")) {
ne.body = parser.nextText();
} else if (name.equals("imgSmall")) {
ne.imgSmall = parser.nextText();
} else if (name.equals("imgBig")) {
ne.imgBig = parser.nextText();
}
break;
case XmlPullParser.END_TAG:
if ("tweet".equals(name)) {
list.add(ne);
}
break;
default:
break;
}
type = parser.next();
}
} catch (Exception e) {
// TODO: handle exception
}
//返回一个集合,供调用它的方法使用
return list;
}
}
=====================MainActivity中调用Utils里面的方法================
initData();
private void initData(final String ss) {
String path = "http://www.oschina.net/action/api/tweet_list?uid=0&pageSize=20&pageIndex="+pageIndex;
HttpUtils hu = new HttpUtils();
hu.send(HttpMethod.GET, path, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
String str = arg0.result;
ByteArrayInputStream ba = new ByteArrayInputStream(str
.getBytes());
list = PullData.getPull(ba);
Log.d("TAG", list.toString());
// 添加适配器
adapter = new MyAdapter(MainActivity.this, listAll);
lv.setAdapter(adapter);
adapter.notifyDataSetChanged();