首先先上几张Mars视频中的功能分析图:
1.项目开发环境:
- 服务器:Tomcat
- 客户端:Eclipse(Android SDK)
2.功能分析:
- 用户界面:
- 显示Mp3文件列表,包括服务器上的MP3文件以及本地的MP3文件
- 通过Menu对列表进行刷新操作和退出操作
- 服务器上的MP3列表用户可以点击进行下载相对应的MP3文件以及lrc文件
- 本地的MP3列表用户可以点击进行MP3文件的播放,暂停,停止功能并同步显示歌词
2. 文件下载模块:
- 下载MP3文件以及Lrc文件
3. XML解析
- 解析存于服务器上的xml文件内信息,该信息存放了mp3文件的名称大小以及lrc文件的名称大小
4. mp3文件播放模块
- 提供3个Button分别实现MP3的播放,暂停,停止
- 同步的显示对应mp3文件的歌词文件.lrc
5. IO模块
- 读取lrc文件
- SDCard的读写功能
3.项目分析
- 服务器端的搭建及配置
服务器使用的是Tomcat-6.0.36,在文件目录下webapps新建一个文件mp3,其结构为.mp3文件及对应的.lrc文件,WEB-INFO文件(内含web.xml),resources.xml(解析所需xml文件,内含mp3的名称大小及lrc的名称大小)
web.xml:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns="http://java.sun.com/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 5 version="2.5"> 6 </web-app>
看Mars所说该xml文件可以直接从webapps中别的目录下复制粘贴web.xml,
在这里提醒一下:Mars的视频中mp3名是英文的,因此encoding的编码类型可以不考虑,但是如果你的MP3名是中文的,需要使用UTF-8。
resources.xml:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <resources> 3 <resource> 4 <id>0001</id> 5 <mp3.name>彩色的黑.mp3</mp3.name> 6 <mp3.size>9930117</mp3.size> 7 <lrc.name>彩色的黑.lrc</lrc.name> 8 <lrc.size>2531</lrc.size> 9 </resource> 10 <resource> 11 <id>0002</id> 12 <mp3.name>红尘客栈.mp3</mp3.name> 13 <mp3.size>11075875</mp3.size> 14 <lrc.name>红尘客栈.lrc</lrc.name> 15 <lrc.size>1586</lrc.size> 16 </resource> 17 </resources>
这里的resources.xml暂时只写了2个MP3包含name和size标签,当然数量你也可以增加,并且还可以添加其余标签,如MP3的演唱者,MP3的风格类型等。
注意:这里因为是中文名的MP3,因此使用编码为UTF-8
然后你需要将你准备好的MP3文件以及lrc文件复制到目录webappsmp3中来。至此服务器端的简单搭建告一段落。
下节将介绍功能主界面的设计及相关的代码。留意~