一、权限

<uses-permission android:name="android.permission.INTERNET"/>

二、实体domain

package cn.itcast.domain;

public class Video {
private Integer id;
private String title;
private Integer time;

public Video(){}

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

}

三、编码

public class VideoService {
/**
* 获取最新的视频资讯
* @return
* @throws Exception
*/
public static List<Video> getLastVideos() throws Exception{
String path = "http://192.168.1.100:8080/videoweb/video/list.do";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setReadTimeout(5*1000);
conn.setRequestMethod("GET");
InputStream inStream = conn.getInputStream();
return parseXML(inStream);
}

/**
* 解析服务器返回的协议,得到视频资讯
* @param inStream
* @return
* @throws Exception
*/
private static List<Video> parseXML(InputStream inStream) throws Exception{
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;
}
}

更多相关文章

  1. android surfaceView控制视频显示大小
  2. Android 实现视频录制并播放
  3. Android 拦截TextView中超链接点击事件
  4. android openGl录制音视频
  5. android 控件onClick事件的4种实现方式
  6. 关于Android 游戏开发中 OnTouchEvent() 触屏事件的性能优化笔记
  7. Android全屏模式,监听软键盘弹出事件。
  8. android 视频图片混合轮播实现
  9. Android三种方法实现事件监听

随机推荐

  1. Android自定义动画学习,实现左右摇摆动画
  2. 记一次BottomNavigationView使用踩坑
  3. Android音频框架笔记
  4. Android Activity sleep 自线程更新主线
  5. Android onSaveInstanceState和onRestore
  6. android studio 55[2]线程更新UI handler
  7. Android Applications Tutorial 13. Inte
  8. 自定义android 系统映像与皮肤,并运行
  9. Android 录音 与播放本地音乐功能的实现
  10. android安装apk程序