音乐播放器的设计与实现设计.doc
《音乐播放器的设计与实现设计.doc》由会员分享,可在线阅读,更多相关《音乐播放器的设计与实现设计.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流音乐播放器的设计与实现设计.精品文档.目录一、前 言1二、系统分析2(一) 系统需求分析2(二) 系统功能需求分析2(三) 业务流程分析5三、系统设计5(一) 总体设计5(二) 歌曲列表模块设计6(三) 播放控制模块设计6(四) 播放器设置模块设计7(五) 数据库设计8四、系统实现11(一) 主界面11(二) 播放列表19(三) 歌词显示界面20(四) 皮肤更换24五、软件测试25(一) 软件的测试25(二) 功能的测试与实现25(三) 测试结论26六、结论26参考文献28Android音乐播放器的设计与实现(电子信息工程系 软件技术111班
2、 王永军)摘 要: 本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse开发工具对播放器代码进行编写。同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,该音乐播放器集播放、暂停、停止、上一首、下一首、歌词显示等功能于一体,性能良好,在Android系统中能独立运行。实验证明,基于android平台的软件开发简单,使用方便简洁,必将成为未来几年的发展方向,具有普遍意义。关键词:Android;Java;Eclipse;音乐播放器一、前 言当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,是的手机操作系统也出现了不同各类,现在
3、的市场主要有三个手机操作系统,Windows mobile,苹果系统,以及谷歌的Android操作系统,其中占有开发源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。随着计算机的广泛运用,手机市场的迅速发展,各种音频资源也在网上广为流传,这些资源卡是平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味最求外观花俏,功能庞大,对用户的手机造成很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务
4、操作时,受到不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户听歌的需求。现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放MP3等音乐文件,并且能够控制播放器播放,暂停,停止,上一曲,下一曲。界面简单,操作简单。本项目是一款基于Android手机 平台的音乐播放器,使Android手机拥有个性的播放器,让手机主人随时随地处于音乐的旋律中。使人们的生活更加多样化。也使设计者更加
5、熟练Android的技术和其它在市场上的特点。二、系统分析(一) 系统需求分析1. 需求分析本系统属于用户常用的音乐播放器。可以方便用户平时对音乐文件的操作。本系统应达到以下目标: (1) 软件采用人机交互的方式,界面美观友好,操作灵活、方便、富有个性化。(2) 能够对音乐文件进行有效的管理。(3) 系统应最大限度地实现易维护性和易操作性。2. 软件的可行性研究(1)经济上的可行性Android是 Google 历经数年和投资数亿美元开发出来的智能手机系统,是 基于 Linux 内核的操作系统,是 Google 公司在 2007 年 11 月 5 日公布的手机操 作系统。随着各大移动终端生产商
6、大力开发和生产基于Android的移动智能设备,Android迅速得到业界和社会的认可,并成为整个产业的热点,基于Android平 台的各类人才逐渐成为各大企业竞相争夺的焦点。 而且Android是一个开放的系统,不管是企业还是个人都可以参与来表达自己的创意和想法。(2)技术上的可行性Google发起了围绕Android的组织开放手机联盟, 其英文全称为 “Open Handset Alliance”。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层 Linux 内核只提供基本功能;其他的应用软件则 由各公司自行开发,部分程序以 Java 编写。 (
7、3)操作上的可行性本系统采用Android框架,可以在eclipse中安装Android开发插件,使用Android模拟器也可以使用任意Android终端。模拟器和真正的Android手机没有太大区别,人们对手机操作早已熟悉。(二) 系统功能需求分析1 用例图及用例描述功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了用户的业务需求。用户需求文档描述了用户使用产品必须要完成的任务。针对音乐播放器分别对音乐播放功能进行详细的调研和分析,总结出如用户需求信息,其用例图如图2.1所示。图2.1 播放器用例图音乐播放器的用例描述如下:(1) 用例名称:播放 参与者:用户 目
8、标:使得用户可以播放在播放列表中选中的歌曲 前置条件:播放器正在运行 基本事件流:1.用户单击“播放”按钮 2.播放器将播放列表中的当前的歌曲(2) 用例名称:暂停 参与者:用户 目标:使得用户可以暂停正在播放的歌曲 前置条件:歌曲正在播放且未停止和暂停 基本事件流:1.用户单击“暂停”按钮 2.播放器将暂停当前的歌曲(3) 用例名称:上一首/下一首 参与者:用户 目标:使得用户可以听上一首或下一首歌曲 前置条件:歌曲正在播放或暂停 基本事件流:1.用户单击“上一首或下一首”按钮 2.播放器将播放上一首或下一首歌曲(4) 用例名称:播放列表 参与者:用户 目标:使得用户可以进入播放清单 前置条
9、件:程序在运行 基本事件流:播放器进入播放列表(5) 用例名称:歌词显示 参与者:用户 目标:使得程序进入播放器歌词设置状态 前置条件:程序运行在播设定界面 基本事件流:播放器显示或关闭歌词2. 音乐播放器的时序图 播放器对象之间的交互情况如图2.2所示。图2.2 音乐播放器的时序图(三) 业务流程分析播放器工作流程图如图2.3所示。图 2.3 音乐播放器流程图三、系统设计(一) 总体设计根据播放器的实现目标,可获得播放器的基本需求,以下从不同角度来描述系统的需求,系统的功能需求,分成三部分来概括,即播放器的基本控制需求,播放列表管理需求和播放器友好性需求,如图3.1所示为应用功能结构图分析:
10、 图3.1 功能结构图(二) 歌曲列表模块设计程序在初始化界面时,从系统数据库获得SD内所有音乐信息,将这些得到的信息构建到列表呈现给用户,流程如图3.2所示:图3.2 歌曲列表模块流程图(三) 播放控制模块设计播放控制模块是整个设计控制的核心部分,用户只需通过简单的触摸操作就可以实现对歌曲播放的控制,如图3.3所示: 图3.3播放控制模块流程图(四) 播放器设置模块设计播放器设置包括播放器背景皮肤更换以及播放器定时睡眠,如图3.4所示:图3.4 播放器设置模块流程图(五) 数据库设计1. 数据库及字段属性设计(1) 字段设计(表、图)file_table 主要是保存歌曲名字、类型、路径。字段
11、说明:Id 歌曲id号 fileName 歌曲名字 filePath 歌曲路径 sort 歌曲类型(表3.1、图3.5)Android自带一个MediaStore封闭类专门来存储媒体信息,通过Uri EXTERNAL_CONTENT_URI 来访问SDcard中的歌曲详细信息。存放媒体信息如TITLE(标题)、ARTIST(艺术家)、ALBUM(专辑)、SIZE(大小 )(表3.2、图3.5)图3.5 歌曲列表图3.6 歌曲详细(2) 音乐播放器E-R图音乐播放器 E-R图(图3.6)图3.7 E-R图2. 数据库连接(1) 创建数据库 Android 提供了标准的数据库创建方式。继承SQLi
12、teOpenHelper ,实现onCreate 和 onUpgrade 两个方法,有个好处就是便于数据库版本的升级,连接数据库的算法如下:/*游标*/private Cursor c = null;/*建立表的语句*/private static final String CREATE_TAB = create table + music(_id integer primary key autoincrement,music_id integer,clicks integer, +latest text);/*列名*/private static final String TAB_NAME
13、= music;/*数据库*/private SQLiteDatabase db = null;/*构造函数*/public DBHelper(Context context, String name, CursorFactory factory,int version) super(context, name, factory, version); /*构造一个数据库,如果没有就创建一个数据库*/Overridepublic void onCreate(SQLiteDatabase db) this.db = db;db.execSQL(CREATE_TAB);(2) 操作数据库 Andro
14、id对数据库的操作主要有插入、删除、更新、查询操作,在进行任何操作时都必须指定一个Uri,才能对相应的表进行数据操作。/*插入数据*/public void insert(ContentValues values)SQLiteDatabase db = getWritableDatabase();db.insert(TAB_NAME, null, values);db.close(); /* 更新数据*/public void update(ContentValues values,int id)SQLiteDatabase db = getWritableDatabase();db.upda
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 播放 设计 实现
限制150内