//请求方法
private void getHttp() {
// TODO Auto-generated method stub
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
URL url = new URL(你的URL);
HttpURLConnection h = (HttpURLConnection) url
.openConnection();
h.connect();
InputStream is = h.getInputStream();
/*BufferedReader br=new BufferedReader(new InputStreamReader(is));
String tag = "";
while((tag = br.readLine()) != null){
tag += br.readLine();
Log.i("yang", tag);
}*/
List<Book> book = getXml(is);
Message mag=new Message();
mag.obj = book;
handler.sendMessage(mag);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
}
//解析方法
private List<Book> getXml(InputStream is) {
// TODO Auto-generated method stub
try {
XmlPullParser newPullParser = Xml.newPullParser();
newPullParser.setInput(is, "UTF-8");
int eventType = newPullParser.getEventType();
while (isFlag) {
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
list = new ArrayList<Book>();
break;
case XmlPullParser.START_TAG:
tagNmae = newPullParser.getName();
if(tagNmae.equals("item")){
book = new Book();
}
break;
case XmlPullParser.TEXT:
if(tagNmae.equals("id")){
book.setId(newPullParser.getText());
}else if(tagNmae.equals("catalog")){
book.setCatalog(newPullParser.getText());
}
break;
case XmlPullParser.END_TAG:
tagNmae = newPullParser.getName();
if(tagNmae.equals("item")){
list.add(book);
}
break;
case XmlPullParser.END_DOCUMENT:
isFlag = false;
//Log.i("yang", list.toString());
return list;
}
eventType = newPullParser.next();
}
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//显示数据
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
List<Book> list2=(List<Book>) msg.obj;
//Log.i("yang", list2.toString());
for (Book book : list2) {
name.add(book.getCatalog());
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_expandable_list_item_1, name);
lv.setAdapter(adapter);
};
};