关于mars老师音乐播放器xml解析问题!!!

问题描述

public class Mp3Player extends ListActivity { /** Called when the activity is first created. */public final static int UPDATE = 1;public final static int ABOUT = 2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubmenu.add(0, UPDATE, 1, R.string.update);menu.add(0, ABOUT, 2, R.string.about);return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubif(item.getItemId() == UPDATE) {String xml = downloadXml("http://192.168.254.1:8080/mp3/resouces.xml");(1)System.out.println("xml--------"+xml);parse(xml);}else if(item.getItemId() == ABOUT) {}return super.onOptionsItemSelected(item);}public String downloadXml(String urlStr) {HttpDownloader download = new HttpDownloader();String result = download.download(urlStr);return result;}public List<Mp3Info> parse(String xmlStr) {//创建sax解析器工厂SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();StringReader strR = new StringReader(xmlStr);InputSource input = new InputSource(strR);System.out.println("xml--------"+xmlStr);try {XMLReader xmlReader = saxParserFactory.newSAXParser().getXMLReader();List<Mp3Info> info = new ArrayList<Mp3Info>();Mp3ListContentHandler mp3ListContentHandler = new Mp3ListContentHandler(info);xmlReader.setContentHandler(mp3ListContentHandler);xmlReader.parse(input);(2)System.out.println("info size-----------"+info.size());(3)for(Iterator iterator = info.iterator(); iterator.hasNext();) {Mp3Info mp3Info = (Mp3Info)iterator.next();System.out.println("mp3Info-------"+mp3Info);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} return null;}}上面是activity类(1)处可以输出完整的xml信息(2)(3)处均不能被执行public class Mp3ListContentHandler extends DefaultHandler {private List<Mp3Info> infos = null;private Mp3Info mp3Info = null;private String targetName = null;public Mp3ListContentHandler(List<Mp3Info> infos) {super();this.infos = infos;}public List<Mp3Info> getInfos() {return infos;}public void setInfos(List<Mp3Info> infos) {this.infos = infos;}@Overridepublic void characters(char[] ch, int start, int length)throws SAXException {String temp = new String(ch, start, length);if(targetName.equals("id")) {mp3Info.setId(temp);}else if(targetName.equals("mp3.name")) {mp3Info.setMp3Name(temp);}else if(targetName.equals("mp3.size")) {mp3Info.setMp3Size(temp);}else if(targetName.equals("lrc.name")) {mp3Info.setLrcName(temp);}else if(targetName.equals("lrc.size")) {mp3Info.setLrcSize(temp);}}@Overridepublic void startDocument() throws SAXException {// TODO Auto-generated method stubsuper.startDocument();}@Override(1)public void endDocument() throws SAXException {// TODO Auto-generated method stubSystem.out.println("endDocument methoed is start-----");}@Overridepublic void endElement(String uri, String localName, String qName)throws SAXException {// TODO Auto-generated method stubif(qName.equals("resource")) {infos.add(mp3Info);(2)System.out.println("infos is --------"+infos);}this.targetName = "";}@Overridepublic void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {// TODO Auto-generated method stubthis.targetName = localName;if(targetName.equals("resource")) {mp3Info = new Mp3Info();}}}这是处理xml文件的Handler(1)处方法不能被执行(2)处可以输出正常信息小弟被这个问题卡了好几天了,恳求大神们指点指点!

解决方案

我这边运行mars老师的代码没有问题,你看看你的resouces.xml格式,估计是这个问题

时间: 2024-09-11 09:05:51

关于mars老师音乐播放器xml解析问题!!!的相关文章

仿酷狗音乐播放器开发日志二十四 选项设置窗体的实现(附328行xml布局源码)

转载请说明原出处,谢谢~~        花了两天时间把仿酷狗的选项设置窗体做出来了,当然了只是做了外观.现在开学了,写代码的时间减少,所以整个仿酷狗的工程开发速度减慢了.今天把仿酷狗的选项设置窗体的布局代码分享出来,给学习duilib布局的朋友做个demo.现在编写的仿酷狗选项设置窗体和原酷狗的窗体不细看几乎看不出差别,控件的布局位置和原酷狗最多只有几个像素的位置差别.        先来看一下原酷狗的选项设置窗体的其中一个页面:        如果还不太会布局的朋友可以先看我前些日子写的关于

实例解析iOS中音乐播放器应用开发的基本要点_IOS

一.调整项目的结构,导入必要的素材 调整后的项目结构如下: 二.新建两个控制器(1)新建一个控制器,用于展示音乐文件列表界面,其继承自UITableViewController (2)新建一个控制器,用于展示播放界面,其继承自UIViewController (3)在storyboard中,把之前的控制器删除,换上一个导航控制器,设置tableViewController与之前新建的控制器类进行关联 三.音乐文件列表控制器中基本界面的搭建(1)新建一个音乐文件的模型 根据plist文件建立模型:

iOS开发拓展篇—音频处理(音乐播放器6)

一.图片处理 说明: Aspect表示按照原来的宽高比进行缩放. Aspectfit表示按照原来的宽高比缩放,要求看到全部图片,后果是不能完全覆盖窗口,会留有空白. Aspectfill表示按照原来的宽高比缩放,但只能看到部分图片.引发的问题:可能会有一部分超出屏幕. 所以,如果选择了Aspectfill模式,那么需要剪切超出的图片,在storyboard中也可以进行设置. 下面的两种设置是等效的. (1)在storyboard中进行设置 (2)使用代码裁剪 二.播放处理 1.当前歌曲播放结束之

Android音乐播放器制作 扫描本地音乐显示在手机(一)

思路 首先是扫描本地所有的音频文件,然后全部装进集合当中,接下来就是用ListView展示在屏幕上,大概就是这几个步骤了,接下来细讲 创建一个容器 进行过数据解析的朋友都应该知道JavaBean吧,用来装载解析出来的数据,我们这里同样也要创建一个JavaBean,用来装载扫描到的音频文件,具体的代码是: package com.duanlian.mymusicplayerdemo.bean; /** * Created by user on 2016/6/24. * 放置音乐 */ public

Swift版音乐播放器(简化版)

这几天闲着也是闲着,学习一下Swift的,于是到开源社区Download了个OC版的音乐播放器,练练手,在这里发扬开源精神, 希望对大家有帮助! 这个DEMO里,使用到了 AudioPlayer(对音频封装的库) FreeStreamer(老外写的音频高效处理库) LKDBHelper(将数据模型直接写到数据库中的库) AFNetworking (网络库) SDWebImage (图片获取库) 另外,我也把OC版的ProgressHUD转成了Swift版本的HYBProgressHUD,希望对大

Android自定义View之绘制音乐播放器示波器

周末玩的有点嗨,没更新博客了,今天补上,这个示波器是在大学的时候老师教的,但是出来工作一直没有用到过,渐渐的也就忘记了,现在重新学习一下.来看看效果图: 这里是一个自定义的柱状图,然后有一个按钮,点击按钮的时候,这里柱子会不停的运动,类似于音乐播放器里示波器的跳动. 跟前面几个自定义view的方式类似,重写了onSizeChange()方法和onDraw()方法  先列一下我们要用到的变量 Paint mPaint; mWidth; mRectWidth; mRectHeight; mRectC

android手机音乐播放器实现歌词同步

  最近在做一款android手机上的音乐播放器,学习到了很多东西,像是Fragment,ActionBar的使用等等,这里就先介绍一下歌词同步的实现问题. 歌词同步的实现思路很简单:获取歌词文件LRC中的时间和歌词内容,然后在指定的时间内播放相应的内容.获取不难,难就在于如何在手机屏幕上实现歌词的滚动. 先上效果图:   先从最基本的读取歌词文件开始: Public class LrcHandle { private List mWords = new ArrayList(); private

android快捷简单的实现音乐播放器

 播放器功能如下: 1.暂停,播放 2.拖动条实现,快进,快退 3.歌词同步 4.下一曲,上一曲. 5.专辑图片显示 6.后台播放,通知栏显示 7.来电话,暂停,电话结束,开始播放. 界面如下: 播放时候,在通知栏会有个图标.暂停,图标消失 后台播放时候,会在通知栏显示,点击,可以进入播放界面 使用详细: 到GIthob下载音乐播放器模块代码. 地址:音乐播放器模块代码下载 下载后,解压,把项目导入eclipse. 把项目作为一个library,引入项目中使用 1.引入项目 创建一个项目,点击项

audio-求音乐播放器java源代码

问题描述 求音乐播放器java源代码 菜鸟一枚,老师布置作业要做一个音乐播放器,最好是和平时用的界面差不多,能显示歌词或者是相应的背景图片,网上没找到能免费下载的,菜鸟一枚,好多网站都要积分什么的,我没有,哪位大神有资源,求分享 解决方案 http://download.csdn.net/detail/shougaoshougao/4305345 解决方案二: 只需1积分http://download.csdn.net/detail/zjj7188/9298401