//xml文件
10848516
http://static.oschina.net/uploads/user/124/249315_50.jpg?t=1388048693000
不是小白
249315
Parallels Desktop 12 能运行android系统不?
1
0
2016-10-26 09:54:09
0
0
//网络
String path = "http://www.oschina.net/action/api/tweet_list?uid=0&pageIndex=0&pageSize=20";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getxml();
lv=(ListView)findViewById(R.id.lv);
}
private void getxml() {
setContentView(R.layout.activity_main);
HttpUtils utils = new HttpUtils();
utils.send(HttpMethod.GET, path, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
String result = arg0.result;
Message msg = new Message();
msg.obj = result;
handler.sendMessage(msg);
}
});
}
//解析
Handler handler = new Handler() {
private String name;
private Bean b;
private List<Bean> bean;
public void handleMessage(Message msg) {
bean = new ArrayList<Bean>();
try {
String s = (String) msg.obj;
XmlPullParser pullParser = Xml.newPullParser();
ByteArrayInputStream arrayInputStream = new ByteArrayInputStream(
s.getBytes());
pullParser.setInput(new InputStreamReader(arrayInputStream));
int type = pullParser.getEventType();
while(type!=XmlPullParser.END_DOCUMENT){
switch (type) {
case XmlPullParser.START_TAG:
name = pullParser.getName();
if("tweet".equals(name)){
b = new Bean();
}else if("portrait".equals(name)){
b.portrait=pullParser.nextText();
}else if("author".equals(name)){
b.author=pullParser.nextText();
}else if("body".equals(name)){
b.body=pullParser.nextText();
}
break;
case XmlPullParser.END_TAG:
name = pullParser.getName();
if("tweet".equals(name)){
bean.add(b);
}
break;
}
type = pullParser.next();
System.out.println("///"+bean);
lv.setAdapter(new MyBaseadapter(MainActivity.this,bean));
}
} catch (XmlPullParserException | IOException e) {
e.printStackTrace();
}
};
};