public class XmlActivity extends Activity { private ListView listView; @Override public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.main);  listView = (ListView) this.findViewById(R.id.listView);  try {   List<Video> videos = VideoService.getLastVides();   List<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();   for (Video video : videos) {    HashMap<String, Object> item = new HashMap<String, Object>();    item.put("id", video.getId());    item.put("title", video.getTitle());    item.put("timelength", video.getTime());    data.add(item);   }   SimpleAdapter adapter = new SimpleAdapter(this, data,     R.layout.item, new String[] { "title", "timelength" },     new int[] { R.id.title, R.id.timelength });   listView.setAdapter(adapter);  } catch (Exception e) {   Toast.makeText(XmlActivity.this, "获取最新资讯失败", 1);   Log.e("XmlActivity", e.toString());  } }}

public class VideoService {public static void save(List<Person> persons, OutputStream outStream) throws Throwable{ XmlSerializer serializer = Xml.newSerializer(); serializer.setOutput(outStream,"UTF-8"); serializer.startDocument("UTF-8", true);  serializer.startTag(null, "persons");  for(Person person:persons){ serializer.startTag(null, "person"); serializer.attribute(null, "id", String.valueOf(person.getId()));   serializer.startTag(null, "name"); serializer.text(person.getName()); serializer.endTag(null, "name");  serializer.startTag(null, "age"); serializer.text(String.valueOf(person.getAge())); serializer.endTag(null, "age");   serializer.endTag(null, "person"); }  serializer.endTag(null, "persons"); serializer.endDocument(); outStream.close();} public static List<Video> getLastVides() throws Exception{  String path = "http://www.secn.com.cn";  URL url = new URL(path);  HttpURLConnection conn = (HttpURLConnection) url.openConnection();  conn.setReadTimeout(5*1000);  conn.setRequestMethod("GET");  InputStream inStream = conn.getInputStream();  return ParserXML(inStream); } private static List<Video> ParserXML(InputStream inStream) throws XmlPullParserException, IOException {  List<Video> videos = null;  Video video = null;  XmlPullParser parser = Xml.newPullParser();  parser.setInput(inStream, "UTF-8");  int eventType = parser.getEventType();//产生第一个事件  while(eventType!=XmlPullParser.END_DOCUMENT){//只要不是文档结束事件   switch (eventType) {   case XmlPullParser.START_DOCUMENT:    videos = new ArrayList<Video>();    break;    case XmlPullParser.START_TAG:    String name = parser.getName();//获取解析器当前指向的元素的名称    if("video".equals(name)){     video = new Video();     video.setId(new Integer(parser.getAttributeValue(0)));    }    if(video!=null){     if("title".equals(name)){      video.setTitle(parser.nextText());//获取解析器当前指向元素的下一个文本节点的值     }     if("timelength".equals(name)){      video.setTime(new Integer(parser.nextText()));     }    }    break;       case XmlPullParser.END_TAG:    if("video".equals(parser.getName())){     videos.add(video);     video = null;    }    break;   }   eventType = parser.next();  }  return videos; } }

public class Video { private int id; private String title; private int time;  public Video() {} public Video(int id, String title, int time) {  this.id = id;  this.title = title;  this.time = time; } public int getId() {  return id; } public void setId(int id) {  this.id = id; } public String getTitle() {  return title; } public void setTitle(String title) {  this.title = title; } public int getTime() {  return time; } public void setTime(int time) {  this.time = time; }   }

访问互联网权限:<uses-permission android:name="android.permission.INTERNET" />

更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  2. Android屏幕分辨率正确获取及PX,DPI,DP,SP等的对应关系
  3. "Failed to fetch URL https://dl-ssl.google.com/android/repos
  4. android 获取唯一标识
  5. android拍照与读取相册
  6. Android(安卓)热点开关状态的判断和获取热点ssid
  7. Android软键盘适配问题
  8. Android(安卓)P SystemUI之StatusBar UI布局status_bar.xml解析
  9. AIR Native Extension的使用(Android)一 : 打包ane

随机推荐

  1. Android(安卓)Studio开发脱离鼠标之路
  2. 为什么Android要采用Binder作为IPC机制?
  3. android 蓝牙ble app开发(二) -- 关键概念,
  4. Android前景怎么样、是不是要凉了、是不
  5. Android Studio酷炫插件(一)——自动化快速
  6. Android(安卓)Studio 的其他功能-更改快捷
  7. 关于Android intent的知识 隐式意图和显
  8. 源码解析Android中View的measure量算过程
  9. android 上传项目到Github
  10. [置顶] Android 内存泄漏