Android课程设计软件设计说明书音频播放器Word文件下载.docx
《Android课程设计软件设计说明书音频播放器Word文件下载.docx》由会员分享,可在线阅读,更多相关《Android课程设计软件设计说明书音频播放器Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
2.1需求规定
功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了用户的业务需求。
用户需求文档描述了用户使用产品必须要完成的任务。
针对音乐播放器分别对音乐播放、在线音乐播放及会员特权的换肤等功能进行详细的调研和分析,总结出如下的用户需求信息。
(1)界面美观简洁。
(2)运行方便,操作简单。
(3)经济适用,功能充实。
2.2运行环境
2.2.1设备
(1)支持Android1.6版本以上的安卓系统手机。
(2)支持屏幕任何尺寸的安卓手机。
(3)支持安卓模拟器运行。
2.2.2支持软件
(1)支持安卓操作系统软件。
(2)支持装有安卓模拟器的windows操作系统。
(3)支持安卓模拟器
2.3基本设计概念和处理流程
功能用例图如下:
图2-3功能用例图
表3-1播放用例
用例名称:
播放
参与者:
用户
目标:
用户点击播放音乐列表中的歌曲
前置条件:
播放器正在运行
基本事件流:
1.用户单击列表中歌曲
2.播放器将播放列表中的点击的歌曲
表3-2暂停用例
暂停
使得用户可以暂停正在播放的歌曲
歌曲正在播放且未停止和暂停
1.用户单击“暂停”按钮
2.播放器将暂停当前的歌曲
表3-4上一首/下一首用例
上一首/下一首
使得用户可以点播上一首或下一首音乐
歌曲正在播放或歌曲暂停中
1.用户单击“上一首或下一首”按钮
2.播放器将播放上一首歌曲或下一首歌曲
表3-5音乐列表用例
音乐列表
使得用户可以进入音乐列表
程序在运行
1.用户单击“音乐”分区
2.播放器进入音乐列表
2.4结构设计
2.4.1结构
程序流程图如下:
图2-4-1系统流程图
表2-4-1功能关系表
功能类别
子功能
播放列表
菜单
退出播放
关于
点击播放->
进入播放界面
播放界面
播放歌曲->
线程启动->
时间更新
暂停歌曲->
线程暂停->
时间暂停
初曲
寻找音乐列表第一首歌曲
终曲
寻找音乐列表最后一首歌曲
上一首
寻找当前播放的上一ID歌曲
下一首
寻找当前播放下一ID歌曲
主菜单
退出程序
程序退出
版权信息
表2-4-2音乐列表用例
使得音乐列表显示歌曲名称,右边显示时间长度
播放器在主界面
1.用户单击主界面上音乐模块
2.音乐列表显示以音乐排列的列表
2.4.2功能需求与程序的关系
表2-4-2功能关系表
2.4.3尚未问决的问题
功能不是很完善,不能实现歌词功能,文件必须是在SD卡中MYmusic文件下才能播放。
2.5接口设计
2.5.1用户接口
触摸结构,当用户触摸屏幕上的按钮,按钮就开始工作。
2.5.2外部接口
(1)软件接口:
操作系统:
Windows
xp
支持环境:
Android
2.1版本
开发环境:
Eclipse
3.5
ADT
0.9
(2)硬件接口:
支持USB2.0。
3系统出错处理设计
3.1出错信息
出错提示
原因
解决方法
程序运行停止
手机内存不足或程序被中断
重启应用
手机内存不足
清理手机内存
找不到SD卡
没有文件路径
装载SD卡,重启
音乐不能播放
文件损坏或播放路径不对
将音乐文件放在指定文件夹中
3.2补救措施
说明故障出现后可能采取的变通措施,包括:
1.程序运行停止:
解决办法:
重启应用
2.手机内存不足:
3.找不到SD卡:
4.音乐不能播放:
3.3.系统维护设计
为了系统维护的方便而在程序内部设计中作出了安排,本软件是音乐播放软件,与手机内存相关联。
在维护上只涉及到音乐跟新问题,还有主题界面的更换。
由于与手机内存相关联,所以在维护上不必花费太多资源。
4音乐播放器主界面功能实现
4.1程序描述
设计程序主界面,增加主界面的美观,以及和用户之间的交互性。
通过UI设计UML文件设计,使用控件布局,代码相结合。
完美设计出主界面。
4.2功能
主界面明确了当,直接的显示出可操作的按钮。
让用户更加简单,使用本软件。
4.3算法
界面如下:
图5-3-1主界面
Uml布局代码如下
<
?
xmlversion="
1.0"
encoding="
utf-8"
>
LinearLayoutxmlns:
android="
android:
layout_width="
fill_parent"
layout_height="
orientation="
vertical"
gravity="
fill"
background="
#000000"
<
LinearLayout
>
horizontal"
layout_weight="
80"
ListView
id="
@+id/list"
#E61344"
25"
layout_marginBottom="
2dp"
/ListView>
LinearLayout
75"
/>
Button
@+id/liebiao1"
1"
@drawable/liebiao"
layout_marginLeft="
@+id/zengyin1"
@drawable/jiayin"
@+id/jianyin1"
@drawable/jianyin"
@+id/guanji"
@drawable/guanji"
/>
/LinearLayout>
match_parent"
wrap_content"
5"
@+id/bofang"
@drawable/bofang"
layout_marginRight="
1dp"
@+id/zanting"
@drawable/zanting"
@+id/shangyiqu"
@drawable/shangyiqu"
@+id/xiayiqu"
@drawable/xiyishou"
Java代码如下
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main3);
}
4.4注释设计
1.加在模块首部的注释:
:
主界面的设计
2.加在各分枝点处的注释:
增音控件按钮,减音按钮,下一曲按钮,上一曲按钮,播放暂停按钮。
4.5测试计划
运行程序,显示如果和图5-3-1一样,说明界面设计合理,不一样说明界面设计不合理
5音乐列表设计
5.1程序描述
播放列表中存放音乐文件名字,点击文件名字,即可播放音乐,列表存放的方式是数列模式。
5.2功能
播放列表有存放音乐文件,点击音乐文,即可播放。
5.3算法
UML代码:
Java代码:
privateList<
String>
audioList=newArrayList<
();
//要播放的音频列表
@SuppressLint("
SdCardPath"
)
privatevoidaudioList(){
getFiles("
/sdcard/"
);
//获取SD卡上的全部音频文件
ArrayAdapter<
adapter=newArrayAdapter<
(this,
android.R.layout.simple_list_item_1,audioList);
//创建一个适配器
ListViewlistview=(ListView)findViewById(R.id.list);
//获取布局管理器中添加的ListView组件
listview.setAdapter(adapter);
//将适配器与ListView关联
//当单击列表项时播放音乐
listview.setOnItemClickListener(newOnItemClickListener(){
@Override
publicvoidonItemClick(AdapterView<
listView,Viewview,
intposition,longid){
currentItem=position;
//将当前列表项的索引值赋值给currentItem
playMusic(MUSIC_PATH+audioList.get(currentItem));
//调用playMusic()方法播放音乐
}
});
}
5.4注释设计
要播放的音频列表
获取SD卡上的全部音频文件
将适配器与ListView关联
当单击列表项时播放音乐
将当前列表项的索引值赋值给currentItem
调用playMusic()方法播放音乐
5.5测试计划
运行程序,扫描音乐,点击列表文件,听音乐,是否有音乐播放。
6扫描音乐设计
6.1程序描述
本段程序是将SD卡上的音乐文件,进行扫描,并将文件加载到播放列表中。
6.2功能
点击扫描音乐按钮,进行音乐文件扫描,扫描SD卡上的所有MP3格式的音乐文件。
将扫描后的音乐文件加载到播放列表中。
6.3算法
UML代码:
Java代码:
privatevoidgetFiles(Stringurl){
Filefiles=newFile(url);
//创建文件对象
File[]file=files.listFiles();
try{
for(Filef:
file){//通过for循环遍历获取到的文件数组
if(f.isDirectory()){//如果是目录,也就是文件夹
getFiles(f.getAbsolutePath());
//递归调用
}else{
if(isAudioFile(f.getName())){//如果是音频文件
audioList.add(f.getName());
//将文件的路径添加到list集合中
}
}
}catch(Exceptione){
e.printStackTrace();
//输出异常信息
}
privatestaticString[]imageFormatSet=newString[]{"
.mp3"
};
//合法的音频文件格式
//判断是否为音频文件
privatestaticbooleanisAudioFile(Stringpath){
for(Stringformat:
imageFormatSet){//遍历数组
if(path.contains(format)){//判断是否为有合法的音频文件
returntrue;
returnfalse;
6.4注释设计
创建文件对象
通过for循环遍历获取到的文件数组
如果是音频文件
将文件的路径添加到list集合中
合法的音频文件格式
判断是否为音频文件
6.5测试设计
运行程序,当成点击扫描音乐按钮,等待程序扫描,判断是否有音乐文件在列表中。
如果有,说明本段程序实用。
否则则不适用,需要再次设计。
7上一曲/下一曲设计
7.1程序描述
本段程序实现音乐上一曲下一曲的播放,当点击上一曲或下一曲的时候,播放器会对播放列表的文件进行上一曲或下一曲的播放。
7.2功能
当点击上一曲或下一曲的时候,播放器会对播放列表的文件进行上一曲或下一曲的播放。
7.3算法
UML代码:
<
layout_margin