接(上)的代码。Android客户端代码如下:
public class VideoActivity extends Activity {
private Button btn_videonews;
private ListView videoList;
private List<News> newsList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.videonews);
btn_videonews = (Button) findViewById(R.id.Btn_down_news);
videoList = (ListView) findViewById(R.id.Lv_videonews);
btn_videonews.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) {
try {
URL url = new URL("http://111.114.116.114:8080/Test/ListServlet");
HttpURLConnection httpURLConnection = (HttpURLConnection) url
.openConnection();
httpURLConnection.setReadTimeout(5000);
httpURLConnection.setRequestMethod("GET");
if (httpURLConnection.getResponseCode() == 200) {
InputStream inputStream = httpURLConnection.getInputStream();
newsList = parseXML(inputStream);
List<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();
for (News news : newsList) {
HashMap<String, Object> item = new HashMap<String, Object>();
item.put("id", news.getId());
item.put("name", news.getName());
item.put("timeLength", news.getTimeLength());
data.add(item);
}
SimpleAdapter simpleAdapter = new SimpleAdapter(
VideoActivity.this, data, R.layout.itme_news,
new String[] { "name", "timeLength" }, new int[] {
R.id.news_name, R.id.news_timeLength });
videoList.setAdapter(simpleAdapter);
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private List<News> parseXML(InputStream inputStream) throws Exception {
List<News> newsList = new ArrayList<News>();
News news = null;
XmlPullParser parser = Xml.newPullParser();
parser.setInput(inputStream, "UTF-8");
int event = parser.getEventType();
while (event != XmlPullParser.END_DOCUMENT) {
switch (event) {
case XmlPullParser.START_TAG:
if ("id".equals(parser.getName())) {
news = new News();
news.setId(new Integer(parser.nextText()));
} else if ("name".equals(parser.getName())) {
news.setName(parser.nextText());
} else if ("timeLength".equals(parser.getName())) {
news.setTimeLength(new Integer(parser.nextText()));
}
break;
case XmlPullParser.END_TAG:// 每一个带斜杠的都是endtag
if ("news".equals(parser.getName())) {
newsList.add(news);
news = null;
}
break;
default:
break;
}
event = parser.next();// 不要忘了这句哟~
}
Toast.makeText(this, "连接成功.200" + newsList.size(), 1000).show();
return newsList;
}
}