1、摘要I毕 业 设 计中文题目 基于安卓的音乐播放器系统的设计与实现英文题目 Design and Implementation of The MusicPlayer Based on Android院 系: 计算机与信息工程学院年级专业: 金融服务 姓 名:学 号:指导教师:职 称: 年 月摘要II摘 要基于安卓的应用软件开发快捷简单,用户体验良好,开发出满足消费者要求的移动终端软件具有广阔的市场前景。而随着手机的使用量有了大幅地提高,多媒体功能的开发已经成了手机未来发展的功能之一,扩展和优化手机多媒体功能将成为未来几年移动程序开发的新趋势。本文研究的音乐播放器系统是以 Android 开发为
2、基础,用到的软件是 Java的开发软件 Eclipse,搭建的开发环境是 Eclipse + Android SDK,该系统是在Android 系统下编码和改进的。本文研究的音乐播放器集播放、暂停、上下首、歌词显示一些基本的功能于一体,同时具有分享、收藏、设置休息时间的友好性功能,大大满足用户的需求。关键词:手机;安卓;java;音乐播放ABSTRACTIIIABSTRACTThe application development based on Android is quick and easy, in addition, the users experience is good. Ther
3、efore, developing mobile terminal software that can meet consumer demands for market has broad prospects. With the production and use of mobile phones greatly improved, the development of multimedia functions has become one of the future development of feature phones, so expansion and optimization o
4、f mobile multimedia features will become a new trend in the next few years on the mobile application development. The music player system in this paper is based on Android development , using Java development software Eclipse, building Eclipse+Android SDK development environment, and the system is c
5、odded and improved under the Android system.In this paper, the music player has the basic functions which include play, pause, previous one, the next song, the lyrics show. At the same time, the music player can share, collect, set rest time, and it is able to satisfy the needs of users.Key Words :
6、Phones; Android; Java; Music Player目录IV目 录第 1 章 引言 11.1 选题背景 .11.2 国内外研究现状 11.3 研究内容 21.4 主要设计思路 21.5 论文组织结构 3第 2 章 系统相关技术介绍 42.1 Android 的定义 42.2 Android 的优势 42.3 Android 带来的影响 42.3.1 对消费者的影响 .42.3.2 对手机制造商的影响 .52.3.3 对运营商的影响 .52.4 JAVA 介绍 .52.5 Android 内核 62.6 Android 的系统架构 62.7 Lib 介绍 7第 3 章 系统需求
7、分析 93.1 系统可行性分析 93.1.1 技术可行性 .93.1.2 操作可行性 .93.1.3 经济可行性 .93.1.4 社会可行性 .93.2 总体需求 103.3 功能需求 103.4 开发运行环境需求 .133.5 性能需求 133.6 其它需求 13第 4 章 系统概要设计 154.1 概述 154.2 系统功能结构 154.2.1 主界面模块设计 .164.2.2 播放界面模块设计 .164.2.3 菜单界面模块设计 .174.2.4 歌曲设置模块设计 .174.2.5 其他模块设计 .18第 5 章 系统实现 195.1 数据库设计 195.2 模块界面实现 205.2.1
8、 播放器主界面 .205.2.2 音乐播放界面 .21目录V5.2.3 音乐歌词显示页面 .225.2.4 音乐菜单界面 .235.2.5 音乐歌曲设置 .245.2.6 音乐歌曲分享 .25第 6 章 系统测试 276.1 测试重要性 276.2 测试方法 276.3 系统功能测试 .276.3.1 播放器播放功能测试 .276.3.2 播放器菜单功能测试 .286.3.3 播放器歌曲设置功能测试 .286.3.4 播放器其他模块功能测试 .29第 7 章 结论与展望 307.1 结论 307.2 进一步的工作方向 .30参考文献 31致 谢 32第 1 章 引言1第 1 章 引言 1.1
9、选题背景科学技术的日新月异,加上人们生活水平的不断提高,使得手机在人们的日常生活中扮演着极其重要的角色。在近来的这些年里,移动通信业务的发展速度在目前世界上可谓是名列前茅。他们的增长速度是任何预测家未曾预料到。Android 作为一个开源的系统,拥有自己独特的优势,已经形成当前行业的主流趋势。基于 Android 的应用软件开发快捷简单,用户体验良好,所以开发出满足消费者要求的移动终端软件具有广阔的市场前景 1。同时,随着人们生活和工作 的压力越来越大,音乐渐渐地扮演着人们心灵寄托的角色,帮助人们轻松下来,所以受到越来越多人的欢迎,随之而来的,便是五花八门的音乐播放器。但目前存在许多音乐播放器
10、盲目地追求华丽的外在条件和所谓的复杂功能,而这些占据了用户手机的很多资源、内存空间,给用户带来了许多不便,而且,恰恰很多功能对大多数用户来说是没有用的,所以开发一款实用性强的手机音乐播放器是具有良好的市场和应用前景的 2。基于上述分析,利用 Android 这种开源技术设计出一款让用户满意的音乐播放器是非常有市场前景的,同时,对于一个酷爱音乐的软件设计者来说,编写出这种满足用户需求的音乐播放器更是一件非常有意义的事情。1.2 国内外研究现状安卓自从被谷歌收购后就以 Linux 的开放式手机操作系统的形式被推出,这种开放式手机系统可以使任何手机制造商在没有支付专利费的前提下将这种系统在自己的手机
11、上运行,其免费性和便捷性使得其在推出之日便得到全世界的普遍欢迎。国外的安卓市场可谓是蓬勃发展,如日中天,据美国发布的一份调查显示,基于安卓系统的智能手机的销售量在 2012 年曾一度超过了声名赫赫的 Iphone手机,虽然目前在美国 Iphone 手机还是处于智能手机的龙头地位,但唯一能与其相媲美的也只有谷歌的安卓系统的手机 3。由于安卓系统的种种便捷以及不断地往更高层次的技术发展,相信在不久将来会有更多国外的用户选择基于安卓的智能手机。第 1 章 引言2中国,作为一个拥有全世界最多人口的人口大国,其手机用户的人数也是居于全世界之最。因为 3G 业务的推广使得国内的手机市场不断往智能手机方向发
12、展,正因为如此,安卓系统便成了国内手机制造商的首当之选。根据调查显示,国内安卓开发工程师的需求量这两年增长速度是疾如雷电,国内的安卓手机市场正处于一个如火如荼的开拓阶段。如今,随着生活水平的提高,一款能满足用户需求的音乐播放软件是手机必不可少的,而且目前为止,大多数的数码产品也都能进行 MP3 播放。其中,在 Linux 上流行的播放器有多种,主要有Xmms,RealPlayer,Xmovie,QuickTime ,MPlayer 等 4。安卓这种基于 Linux内核的,而且具有开源、免费的特性 5,还有平台开放的特性,这样一方面能够促进技术的创新,另一方面又能在成本降低方面是大大有利的。综上
13、所述,利用安卓技术开发出让用户满意的音乐播放器是相当有市场潜力。1.3 论文组织结构本论文总共分为七章。第 1 章:引言。主要介绍基于安卓的音乐播放器系统的选题背景、国内外研究现状以及研究的内容和主要设计思路。第 2 章:系统相关技术介绍。主要讲了 Android 的信息,对系统相关技术做了比较具体的介绍。第 3 章:系统需求分析。主要对基于安卓的音乐播放器从技术上、操作上、经济上和社会上做了可行性分析,并介绍了总体需求、功能需求、开发环境需求以及性能需求和其他需求。第 4 章:系统概要设计。主要对基于安卓的音乐播放器系统进行了概要设计。第 5 章:系统详细设计。对基于安卓的音乐播放器的数据库
14、进行设计,并且对其各个功能模块展开说明。第 6 章:系统测试。主要对基于安卓的音乐播放器进行测试,并说明了测试结果。第 7 章:结论与展望。主要对基于安卓的音乐播放器目前所做的研究进行总结,并提出研究现在存在的不足之处,提出进一步工作的方向。第 1 章 引言31.4 研究内容本课题研究的是是基于安卓的音乐播放器系统,该播放器作为安卓平台上的一种开发应用,具有与用户交互的界面,用户体验性良好,不仅能满足用户对音乐播放器的一般控制需求,还能够满足用户的友好性需求。通过对音乐播放器的需求进行具体分析,本文要研究的基于安卓的音乐播放器的主要功能有:(1)用户下载安装本 APP,可以享有本 APP 的所
15、有功能。(2)音乐列表展示功能。(3)音乐播放界面。(4)音乐歌词显示功能。(5)音乐菜单界面。(6)歌曲设置的功能。(7)音乐收藏添加功能。(8)歌曲分享的功能。1.5 主要设计思路通过学习和使用同类软件,借鉴同类软件的优秀之处,将可取之处用到我们即将设计的音乐播放器上。以此同时,对该种软件进行详细的需求分析,再结合移动设备的特点,在安卓平台上设计出一款实用性强的、能让用户满意的音乐播放器。搜集和比较 Java 开发相关技术文献,进行软件的概要和详细设计。同时,采用模块化设计思想,对整个系统的结构进行模块化设计,将要设计的音乐播放器的功能模块一一列出,再各个击破,即一个模块、一个模块地完成,
16、最终将各个模块组合起来。第 2 章 系统相关技术介绍4第 2 章 系统相关技术介绍2.1 Android 的定义Android 是一个综合的操作环境,其是在 Linux 内核的基础上进行操作的。Android 这个平台主要包括一个操作系统,中间件、用户界面和一些主要的应用程序。在 Android 平台上使用 Java 框架来开发 Android 应用要使用的工具以及API 接口,这些种种在 Beta 版本的 Android SDK 上都有所提供,种种方便性、必然推进 Android 平台的运用 6。2.2 Android 的优势1.开放性。安卓系统上的源代码是完全开放的,在这个平台上开发的编程
17、人员能够对开发细节方面更加熟悉,而且这个其具有很大的包容性,能够容许其他的移动终端的厂商加入到这个大本营来。正因为,其开放性,安卓系统吸引了很多软件开发者,这个平台收到越来越多的欢迎和关注。2.安卓系统具有丰富的硬件资源,运行速度比想象的迅速 7。在安卓系统上可以设计出功能上各具特色和不同版本的产品,但各种产品之间在数据同步上丝毫没有受到版本差异的影响,在软件兼容这方面也做得很不错。3.安卓系统给开发商提供了一个比较自由的环境,使其不受到一些所谓规范的约束,正因为如此,大大提高了软件设计的创造性与新颖性。4安卓自从被 Google 收购之后就一直在往和 Google 应用结合的方向发展,如今,
18、安卓平台已经能和诸如 Google 地图、邮件等相应的应用做到完美地结合。5.利用安卓系统可以使手机任意地和网络相连接,而不用受限于运营商的种种制约,让手机使用起来更加便捷、自由。2.3 Android 带来的影响Android 的显现后可能包括移动通信行业、软件制造业、手机生产商这些行业,前提是当然是以消费者为最大的核心。第 2 章 系统相关技术介绍52.3.1 对消费者的影响1)加大高端手机的选择。2)刚开始设计的时候,Android 考虑到和他们目前的业务结合在一起,从以前以计算机为核心换成现在以手机的使用为目标。新生的应用,如:谷歌地图,谷歌地图所衍生的应用,Gmail 等等。3)得到
19、 Android 支持的基本选项中,就有包括很多我们常用的 GPS 卫星导航,手机摄像,MP3,蓝牙等这些选项。4)Android 平台是唯一一个免费的,即使会有一些本地链接库将需要一定的费用,但大部分使用都是免费的;由于 Android 的虚拟机 Dalvik 会把 Java 字节码转换成自己的格式,所以即使在它的应用程序运用 Java 开发的时候,它可以避免需要支付给 SUN 的 Java 授权费 8,这是相当有利的。2.3.2 对手机制造商的影响1)由于安卓平台开源性的特点,以 Google 为首,建立了一个具有大量行业的产业同盟,这个产业同盟的存在使了手机软件的开发更加有利,不管是是在
20、技术上还是开发成本上。2)因为它是开源产品,对不占主导地位的制造商来说,技术上能够避免在和占主要地位的制造商的差距,打造一个更加具有竞争力和差异化的产品。2.3.3 对运营商的影响1)多提供的数据服务十分丰富,将会显著增加数据通信上的流量 9。2)增加手机的来源,价格也更实惠。2.4 JAVA 介绍Java 是一种简单的编程语言的网络,它结合了其他语言的一些功能和优点,又避免了它们的缺点。Java 语言的体系结构是中立的 10,因为它使用的第一个是聚合成中间代码(字节码) ,然后加载奇偶校验,再解释给其他的机器代码来执行,只要得到 Java 虚拟机的支持,就可以运行各种相应程序; Java 语
21、言是多线程的,多线程指的是相同的应用程序中,同时来执行多个数据流。Java 语言可以更好地处理多线程程序和现实生活中的一些具体难题,是计算机信息技术与工艺设计发展的一个必然的发展方向。第 2 章 系统相关技术介绍6系统为什么不选择 C 或 C+语言而是选择 Java,其主要原因是 Android 的应用层是通用的中级 Java 字节码,它不需要各种每个厂家封装的等效版本的硬件模型。为了避免版本的问题,在诺基亚,联想版的版本的情况下,一次编写的程序,在多个版本都可以运行。其次,在竞争中 Java 和.NET 平台是应用程序本身最适合的一个平台,有一个庞大的开发基地,节省大量的再教育 14和重新学
22、习的成本。Java 采用流的机制来实现输入和输出,这种流是指一种有方向的字符数据序列。为了获取到数据,程序会打开一个从数据源出来的流,它读取数据的方式是通过这个流;为了输出数据,程序打开一个到了目的地的流,这样就能实现将数据传输到目的地的任务。用于操作 Java 流对象内置的 Java IO 包,其包含一系列的文件和目录,这些用来运行读取文件并写入类 11的操作的属性。Java 反射机制是指在其处于运行中的时候,对于所有的类来说,都可以知晓该类的任何属性以及类中能使用的方法;不管对哪个对象来说,都能调用它任何一个属性和方法。这就是所谓的 Java 反射机制。 Java 反射机制主要提供以下功能
23、:在运行时,识别任何一个对象它所属于的那个类;在运行时,识别任何类拥有的方法还有成员变量;在运行时,任何一个对象的方法都可以被调用;生成动态代理。2.5 Android 内核图 2.1 Linux 内核Android 依赖于 Linux 2.6 内核提供的基本服务,如安全性,内存管理,进程管理,网络,硬件驱动程序 11。这里,Linux 内核中所起到的是硬件层和该系统的其他层次之间的抽象层的一个概念。操作系统并不是类 GNU/ Linux 的,由于他们的系统库,系统启动和编程接口和标准的 Linux 系统都是不同的。Android 系统目前的模式是通过 Eclipse 的自动安装 12,通过大
24、量课题研究,大致步骤是和存放在/data/app 和 data/data 下的 Android 的底层和普通的内核并没有显著差异,可以把它作为一个 Linux,用来开发和追踪。第 2 章 系统相关技术介绍72.6 Android 的系统架构Android 系统架构如图 2.2 所示。图 2.2 系统架构如图 2.2 所示,Android 系统采取的是分层架构思想,架构简单明了,层次分明。各层由高层到低层按顺序依次划分为应用程序层、应用程序框架层、系统运行层库以及 Linux 核心层。2.7 Lib 介绍1.C / C +库:由各种各样 Android 组件使用2.开发人员透过程序框架可以使用它
25、的功能3.包括以下内容:1)媒体库:MPEG4、 H.264、 MP3 、JPG、 PNG2)WebKit / LibWebCore:Web 浏览引擎3)SQLite 关系数据库引擎4)2D,3D 图形库,引擎类库丰富的支持:2D 和 3D 图形库的 OpenGL ES,SQLite 数据库,对象数第 2 章 系统相关技术介绍8据库 db4o 的类库,媒体库,基于 Linux 底层的 C 库,等等,所以它更容易做出简单多样化的应用开发。谷歌使用该库的 Apache 的 Harmony 类库,Harmony类库在某些方面上,速度相较于 Sun 的 VM 来说还更快。 Java 运行在 Dalvi
26、k虚拟机,Dalvik 运行的格式是简单精炼的 byte code,其可以并行地执行多个应用程序,不过是在资金的低消耗和没有应用程序相互干扰的情形下。图 2.3 lib 运行库第 3 章 系统需求分析9第 3 章 系统需求分析3.1 系统可行性分析3.1.1 技术可行性1Jav a 提供了相对稳定的性能,使用 Java 进行开发更加高效,所设计出的系统运行流畅,管理方面,而且,关于这方面技术上的书籍、资料也比较齐全。2基于安卓模式的管理系统已发展日趋成熟。3众所周知,Java 是面向对象的开发语言。程序开发可以在 Eclipse 平台上面方便的使用一些已知的解决方案。 综上所述:系统的开发技术
27、具有可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。3.1.2 操作可行性基于安卓的音乐播放器采用的是移动终端技术,只要用户在安卓智能手机上安装改款软件,就能操作该软件,使用起来不需要受到种种制约,相对简便。同时,本系统是非常容易操作的,能与用户进行良好的交互。因此本系统在操作性上是可以进行开发的。3.1.3 经济可行性从经济上来说,只要电脑上有 Android 开发设备就能设计开发出 Android 手机音乐播放器,并且 Android 应用开发是免费的 13。除此之外,手机音乐播放器是一种大众需求,哪些功能是所有消费者都需要的,哪些功能是部分人需要的,哪些特性是很少使用的
28、这些信息是很容易知道的,在获取需求这块并不需要什么成本。所以系统在开发人力、财力上要求不高,具有经济可行性。3.1.4 社会可行性随着手机市场的快速发展,各种音频和视频资源在互联网上广泛流传。这些资源似乎很稀松平常,然而却在人们生活中越来越不可或缺了,这就给各种手机播放器的设计开拓了市场前景。但是许多音乐播放器致力于华丽的外在条件和强大的功能,给用户的手机带来了许多存储空间的浪费,并且在用户要同时进行多个操作的时候带来第 3 章 系统需求分析10了很多不便之处。有些功能对普通用户来说是没有用的。针对这些问题,开发一个拥有简化功能的特点,有普通播放功能,满足大部分用户的需求,需要的内存小并具有高
29、质量的播放音乐效果的音频播放器,最大限度地优化性能。3.2 总体需求结合当下发展迅速的游戏娱乐 APP 市场开发,设计出一种基于安卓的手机音乐播放器 APP,用户通过下载该 APP 进行音乐播放,实现音乐播放的功能。用户可以对音乐做一些相关设置,可以收藏自己喜欢的音乐,也可以将自己喜欢的音乐通过 QQ、微信、电子邮件或者云盘分享给自己的好友,还可以设置休息时间,不仅满足用户基本需求,还进一步满足用户的友好性需求。该系统充分利用安卓平台的功能特点,运用 Web Services 技术做到手机与手机之间的数据通信,使用 SQLite 数据库将基本的信息资料进行本地化存储,同时也对界面进行精心的设计
30、,增强用户体验。3.3 功能需求需求分析就是分析用户的需要与要求。如果需要评估的结果准确地反映用户的实际需求,这将直接影响到方案设计的整个阶段,而且对系统的使用产生影响。所以,做好需求分析对一个软件来说发至关重要,起着无可比拟的作用。需求研究是从用户分析和细化的信息,在功能和性能上有所描述。它是软件开发过程中的首要工作,主要是要分析用户的需求,了解系统要具有什么样的功能才能让用户满意,从而确定我们要研究的内容,并根据此内容进行软件开发。这个手机音乐播放器 APP 要求在安卓系统的手机上可以运行,用户通过下载该APP 能进行音乐播放。该音乐播放器需求可以分为一般控制需求和友好性需求,一般控制需求
31、如图 3.1 所示:第 3 章 系统需求分析11音 乐 播 放 器 基 本 功 能用户播放暂停上 / 下首歌词显示图 3.1 播放器基本控制需求由图可知,在音乐播放器运行时,用户可以单击播放列表歌曲实现对应歌曲的播放,进入播放界面显示歌曲详细信息和播放进度条;当歌曲处于播放状态时,可以点击暂停按钮,实现音乐的暂停;播放器播放或者暂停时,用户点击上一首或下一首,播放器将进入上一首或者下一首歌曲播放;播放器正在播放时,用户可以进入手机桌面,这时音乐继续在后台播放;当用户在菜单界面上点击退出按钮或者从后台关掉该APP 应用程序,音乐停止,退出该程序。该音乐播放器的友好性需求如图 3.2 所示:第 3
32、 章 系统需求分析12用户音 乐 播 放 器 友 好 性 需 求播放模式歌词显示收藏分享设置休息时间断点续播随机播放重复播放图 3.2 播放器友好性需求由图可知,该音乐播放器具有一般控制需求,还需要满足用户的友好性需求。在音乐播放的时候,用户可以在播放界面上选择播放模式,有随机播放和重复播放两种播放模式可供选择;在播放界面上,用户可以看到对应歌词的显示;点击播放界面上的收藏按钮,可以收藏对应歌曲;同样在播放界面上,点击分享,能够通过 QQ、微信、电子邮箱或者我的云盘的途径分享给好友;在菜单界面上,用户点击设置休息时间,该播放器在 60 分钟后自动从后台退出;同时,播放器要有断点续播功能,即当音
33、乐播放器退出后,下次再进入的时候能从上次音乐播放的位置继续播放。总之,该音乐播放器要能从用户的角度,增强用户的体验性,满足用户友好性需求。第 3 章 系统需求分析133.4 开发运行环境需求1.硬件环境:PC 机2.软件环境:操作系统:Windows 7/XP3.必须软件如下:JAVA JDK SE 1.6 jdk-6u13-windows-i586-p.exeEclipse 3.4.2 eclipse-java-ganymede-SR2-win32.zip 或以上版本Google Android SDK android-sdk-windows-2.1_r1.zipADT-0.9.0 ADT-
34、0.9.0.zip 或以上版本4.布局技术:可以使布局之间相互关联相互嵌套,其中使用最多的布局技术包括5 种:AbsoluteLayout、LinearLayout 、RelativeLayout、FrameLayout、TableLayout 14。可以使用这些布局技术来实现界面设计的目的。3.5 性能需求 根据安卓系统要求,无响应时间为 5 秒。以下是对音乐播放器开发应用的要求:(1)音乐播放时应用响应时间不得在 5 秒以上。(2)音乐暂停时应用响应时间不得在 5 秒以上。(3)音乐停止时应用响应时间不得在 5 秒以上。 (4)上/下首音乐时应用响应时间不能在 5 秒以上。(5)需要系统列
35、表时应用响应时间不得在 5 秒以上。(6)界面切换时应用响应时间不得在 3 秒以上。3.6 其它需求 一个软件项目的质量不仅包括它是否能够达到客户的预期要求,同时还得从下述不同方面进行分析。如表 3.1:第 3 章 系统需求分析14表 3.1 软件质量需求分析质量属性 详细要求正确性 切实履行好职责需要,相应的完成每个模块的要求。健壮性 具有高容错性和恢复能力。可靠性 每 1000 个小时的时间超过 3 次的失败率。性能,效率 软件更新周期的输出应该是相同的系统信息更新周期。网络状况良好的时候 ,在三秒钟内响应消费者的需求。易用性 很容易理解:建立一个统一软件开发过程简单的语言文件,之前和之后
36、的语句是清晰和易于理解。安全性 保障用户的个人信息安全可扩展性 二次开发能满足或改善的功能扩展,并增加适当的安全控制。兼容性 简单的冲突与其他软件。可移植性 该系统可以很容易地转移到其他运行环境。第 4 章 系统概要设计15第 4 章 系统概要设计4.1 概述系统的概要设计就是结合系统的需求性分析,然后根据现有工具进行开发;其中功能设计是最重要的也是我们需要加大精力去做的;该手机音乐播放器的主要任务是能够让用户在 Android 系统的手机上下载该 APP 进行音乐播放,让其选择音乐文件进行播放,也可以收藏音乐,还可以通过一些渠道分享自己喜欢的音乐。借助开发系统工具完成这些功能模块以及良好的
37、UI 界面的开发,来满足用户的需求,通过丰富软件的可玩操作性来增加用户黏性,让此软件越做越好。4.2 系统功能结构本音乐播放器 APP,根据之前的总体设计分析,可以将其划分了若干个子系统,每个子系统都是一个独立的功能,另外子系统之间也是相互的。划分子系统可以让整个系统清晰展现出来。根据本音乐播放器 APP 的功能划分,做出系统功能模块图如图4.1 所示。音乐播放器播放界面菜单界面主界面歌曲设置其他图 4.1 功能模块图整个音乐播放器分为主界面模块、播放界面模块、菜单界面模块、歌曲设置模块以及其他模块,用模块化设计思想进行编程,再结合起来,进而设计出该基于安卓的音乐播放器。第 4 章 系统概要设
38、计164.2.1 主界面模块设计在该音乐播放器,主界面就是歌曲列表界面,主界面模块如图 4.2 所示。主界面 / 歌曲列表歌曲信息当前播放情况图 4.2 主界面模块图歌曲信息:主要是显示歌曲名字和歌手名字。当前播放情况:主要显示当前播放的是歌曲列表中的哪一首歌曲。4.2.2 播放界面模块设计播放界面模块如图 4.3 所示。播放界面暂停上一首播放下一首播放模式歌词显示播放音轨随机播放重复播放图 4.3 播放界面模块图播放:实现音乐的正常播放。暂停:实现音乐的暂停。上一首:点击上一首时,音乐播放器播放上一首歌曲。第 4 章 系统概要设计17下一首:点击下一首时,音乐播放器播放下一首歌曲。播放模式:
39、用户通过点击对应按钮实现随机播放或者重复播放的选择。歌词显示:在播放界面上显示已经在手机上下载好的对应歌曲的歌词。播放音轨:主要显示歌曲时长,匹配歌曲目前的播放进度,同时可以通过拖动播放音轨实现播放进度的控制。4.2.3 菜单界面模块设计菜单界面模块如图 4.4 所示。 菜单界面设置休息时间音乐播放器介绍本地搜索其他设置退出图 4.4 菜单界面模块图本地搜索:用户可以搜索手机上已下载的所有歌曲。设置休息时间:可以选择设置休息时间,60 分钟后音乐播放器从后台退出。音乐播放器介绍:主要是介绍音乐播放器的信息。其他设置:进行界面显示等方面的一些设置。退出:音乐播放器从后台退出。4.2.4 歌曲设置
40、模块设计歌曲设置模块如图 4.5 所示。歌曲设置设为铃声删除添加到播放列表搜索音乐图 4.5 歌曲设置模块图第 4 章 系统概要设计18添加到播放列表:用户可以长按某一首歌曲,选择添加到播放列表,这个播放列表可以是用户新建立的,当然也可以是用户之前就已经建过的。设为铃声:可以将自己喜欢的歌曲设置为手机铃声。删除:删除对应歌曲。搜索音乐:用户可以搜索手机上已下载的所有音乐。4.2.5 其他模块设计其他模块如图 4.6 所示。其他模块收藏分享图 4.6 其他模块图收藏:用户可以选择自己喜欢的歌曲收藏。分享:用户可以选择自己喜欢的歌曲,然后通过各种途径分享给好友。第 5 章 系统详细设计19第 5
41、章 系统实现5.1 数据库设计在每一个应用程序中,数据库的设计都是极其重要的组成部分,挑选合适的数据库并创建适宜的结构式开发程序是必须要完成的任务。数据库的安全也是必须要保障的,要保障数据库里面信息的保密性,完整性,一致性和可用性,防止没有权限的用户不合法地使用数据库而达到窃取,更改或破坏数据库中数据的目的,对此,数据库设计过程中将提供一些安全措施来保证数据库的安全。安卓系统本身就有了一个专门用来存储媒体相关信息的封闭类 MediaStore,可以通过 Uri EXTERNAL_CONTENT_URI 来访问 SDcard 歌曲的详细信息,其中,存放的媒体信息包括 TITLE、ARTIST 、
42、ALBUM、SIZE,如表 5.1 所示:表 5.1 音 乐 播 放 器 数 据 库 表属性 数据类型 允许空 主键_ID INTEGER Not Null Primary KeyTITLE TEXT Not NullARTIST TEXTALBUM TEXTSIZE LONG音乐播放器对应的 E-R 图如图 5.1 所示: 第 5 章 系统详细设计20组 成 歌 曲 歌 曲 时 长 专 辑 歌 曲 名 字 歌 手 名 播 放 列 表 列 表 名 字 列 表 编 号 组 成 音 乐 播 放 器 歌 曲 数 目 1N1P 1M图 5.1 音 乐 播 放 器 E-R 图5.2 模块界面实现5.2.
43、1 播放器主界面本音乐播放器目的性强,启用后直接进入主界面,也就是播放列表界面,直观、简单,这直接将可操作界面展现在用户面前,供用户选择、操作。设计的播放器主界面里面就包括歌曲名字,歌手名,能将现有的音乐展示出来,让用户选择音乐播放。播放器应用主界面效果图如图 5.2 所示。第 5 章 系统详细设计21图 5.2 播放器主界面5.2.2 音乐播放界面本音乐播放器,播放界面显示相应的歌曲名字、歌手名还有对应歌曲的图片,当然还包括最基础的播放、暂停、上下首功能。该播放界面还实现播放音轨的功能,显示歌曲时长和目前的播放进度,以及能拖动播放音轨以实现歌曲播放进度的快进、后退。与此同时,在本音乐播放器的
44、播放界面上,还提供播放模式的选择放,可以选择随机播放或者重复播放,满足用户的良好性需求。界面效果如图 5.3 所示。第 5 章 系统详细设计22图 5.3 音乐播放界面5.2.3 音乐歌词显示页面本音乐播放器,能显示本地已经下载好的歌词,以便用户能更好欣赏音乐,效果图如图 5.4 所示。第 5 章 系统详细设计23图 5.4 音乐歌词显示界面5.2.4 音乐菜单界面本音乐播放器,设计一个菜单界面,在菜单界面上有本地搜索,可以通过歌曲名字搜索所有本机上的音乐;菜单界面上有随便来一曲,即随机播放功能;同时在菜单界面 “关于音乐播放器”上简单介绍了该音乐播放器的相关信息;界面上还设置休息时间,设置 60 分钟后进入休息时间,即退出该音乐播放器,这大大满足用户的友好性需求;在菜单界面的最下面,设置了退出功能,即从后台退出音乐播放器。效果图如图 5.5 所示。第 5 章 系统详细设计24图 5.5 音乐菜单界面5.2.5 音乐歌曲设置在该音乐播放器中,每首歌曲都设置有添加到播放列表、设置为手机铃声、从本地存储中移除、搜索音乐的功能,其效果如图 5.6 所示。第 5 章 系统详细设计25图 5.6 音乐歌曲设置5.2.6 音乐歌曲分享在该音乐播放器中,设置有分享功能,本地上的每首歌曲都能通过我的云盘、电子邮件、信息、QQ、微信来分享给好友,其效果如图 5.7 所示。