资源描述
摘要 毕 业 设 计中文题目基于安卓的音乐播放器系统的设计与实现英文题目Design and Implementation of The MusicPlayer Based on Android 院 系:计算机与信息工程学院年级专业: 金融服务 姓 名:学 号:指导教师:职 称: 年 月摘 要基于安卓的应用软件开发快捷简单,用户体验良好,开发出满足消费者要求的移动终端软件具有广阔的市场前景。而随着手机的使用量有了大幅地提高,多媒体功能的开发已经成了手机未来发展的功能之一,扩展和优化手机多媒体功能将成为未来几年移动程序开发的新趋势。本文研究的音乐播放器系统是以Android开发为基础,用到的软件是Java的开发软件Eclipse,搭建的开发环境是Eclipse + Android SDK,该系统是在Android系统下编码和改进的。本文研究的音乐播放器集播放、暂停、上下首、歌词显示一些基本的功能于一体,同时具有分享、收藏、设置休息时间的友好性功能,大大满足用户的需求。关键词:手机;安卓;java;音乐播放IIABSTRACTABSTRACTThe application development based on Android is quick and easy, in addition, the users experience is good. Therefore, 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 of 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 codded 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 : Phones; Android; Java; Music PlayerIII目录目 录第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章 系统需求分析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 播放器主界面205.2.2 音乐播放界面215.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致 谢3232第1章 引言第1章 引言 1.1 选题背景 科学技术的日新月异,加上人们生活水平的不断提高,使得手机在人们的日常生活中扮演着极其重要的角色。在近来的这些年里,移动通信业务的发展速度在目前世界上可谓是名列前茅。他们的增长速度是任何预测家未曾预料到。Android作为一个开源的系统,拥有自己独特的优势,已经形成当前行业的主流趋势。基于Android的应用软件开发快捷简单,用户体验良好,所以开发出满足消费者要求的移动终端软件具有广阔的市场前景1。同时,随着人们生活和工作 的压力越来越大,音乐渐渐地扮演着人们心灵寄托的角色,帮助人们轻松下来,所以受到越来越多人的欢迎,随之而来的,便是五花八门的音乐播放器。但目前存在许多音乐播放器盲目地追求华丽的外在条件和所谓的复杂功能,而这些占据了用户手机的很多资源、内存空间,给用户带来了许多不便,而且,恰恰很多功能对大多数用户来说是没有用的,所以开发一款实用性强的手机音乐播放器是具有良好的市场和应用前景的2。基于上述分析,利用Android这种开源技术设计出一款让用户满意的音乐播放器是非常有市场前景的,同时,对于一个酷爱音乐的软件设计者来说,编写出这种满足用户需求的音乐播放器更是一件非常有意义的事情。1.2 国内外研究现状安卓自从被谷歌收购后就以Linux的开放式手机操作系统的形式被推出,这种开放式手机系统可以使任何手机制造商在没有支付专利费的前提下将这种系统在自己的手机上运行,其免费性和便捷性使得其在推出之日便得到全世界的普遍欢迎。国外的安卓市场可谓是蓬勃发展,如日中天,据美国发布的一份调查显示,基于安卓系统的智能手机的销售量在2012年曾一度超过了声名赫赫的Iphone手机,虽然目前在美国Iphone手机还是处于智能手机的龙头地位,但唯一能与其相媲美的也只有谷歌的安卓系统的手机3。由于安卓系统的种种便捷以及不断地往更高层次的技术发展,相信在不久将来会有更多国外的用户选择基于安卓的智能手机。中国,作为一个拥有全世界最多人口的人口大国,其手机用户的人数也是居于全世界之最。因为3G业务的推广使得国内的手机市场不断往智能手机方向发展,正因为如此,安卓系统便成了国内手机制造商的首当之选。根据调查显示,国内安卓开发工程师的需求量这两年增长速度是疾如雷电,国内的安卓手机市场正处于一个如火如荼的开拓阶段。如今,随着生活水平的提高,一款能满足用户需求的音乐播放软件是手机必不可少的,而且目前为止,大多数的数码产品也都能进行MP3播放。其中,在Linux上流行的播放器有多种,主要有Xmms,RealPlayer,Xmovie,QuickTime,MPlayer等4。安卓这种基于Linux内核的,而且具有开源、免费的特性5,还有平台开放的特性,这样一方面能够促进技术的创新,另一方面又能在成本降低方面是大大有利的。综上所述,利用安卓技术开发出让用户满意的音乐播放器是相当有市场潜力。1.3 论文组织结构本论文总共分为七章。第1章:引言。主要介绍基于安卓的音乐播放器系统的选题背景、国内外研究现状以及研究的内容和主要设计思路。第2章:系统相关技术介绍。主要讲了Android的信息,对系统相关技术做了比较具体的介绍。第3章:系统需求分析。主要对基于安卓的音乐播放器从技术上、操作上、经济上和社会上做了可行性分析,并介绍了总体需求、功能需求、开发环境需求以及性能需求和其他需求。第4章:系统概要设计。主要对基于安卓的音乐播放器系统进行了概要设计。第5章:系统详细设计。对基于安卓的音乐播放器的数据库进行设计,并且对其各个功能模块展开说明。第6章:系统测试。主要对基于安卓的音乐播放器进行测试,并说明了测试结果。第7章:结论与展望。主要对基于安卓的音乐播放器目前所做的研究进行总结,并提出研究现在存在的不足之处,提出进一步工作的方向。1.4 研究内容本课题研究的是是基于安卓的音乐播放器系统,该播放器作为安卓平台上的一种开发应用,具有与用户交互的界面,用户体验性良好,不仅能满足用户对音乐播放器的一般控制需求,还能够满足用户的友好性需求。通过对音乐播放器的需求进行具体分析,本文要研究的基于安卓的音乐播放器的主要功能有:(1)用户下载安装本APP,可以享有本APP的所有功能。(2)音乐列表展示功能。(3)音乐播放界面。(4)音乐歌词显示功能。(5)音乐菜单界面。(6)歌曲设置的功能。(7)音乐收藏添加功能。(8)歌曲分享的功能。1.5 主要设计思路通过学习和使用同类软件,借鉴同类软件的优秀之处,将可取之处用到我们即将设计的音乐播放器上。以此同时,对该种软件进行详细的需求分析,再结合移动设备的特点,在安卓平台上设计出一款实用性强的、能让用户满意的音乐播放器。搜集和比较Java开发相关技术文献,进行软件的概要和详细设计。同时,采用模块化设计思想,对整个系统的结构进行模块化设计,将要设计的音乐播放器的功能模块一一列出,再各个击破,即一个模块、一个模块地完成,最终将各个模块组合起来。第2章 系统相关技术介绍第2章 系统相关技术介绍2.1 Android的定义Android是一个综合的操作环境,其是在Linux内核的基础上进行操作的。Android这个平台主要包括一个操作系统,中间件、用户界面和一些主要的应用程序。在Android平台上使用Java框架来开发Android应用要使用的工具以及API接口,这些种种在Beta版本的Android SDK上都有所提供,种种方便性、必然推进Android平台的运用6。2.2 Android的优势1.开放性。安卓系统上的源代码是完全开放的,在这个平台上开发的编程人员能够对开发细节方面更加熟悉,而且这个其具有很大的包容性,能够容许其他的移动终端的厂商加入到这个大本营来。正因为,其开放性,安卓系统吸引了很多软件开发者,这个平台收到越来越多的欢迎和关注。2.安卓系统具有丰富的硬件资源,运行速度比想象的迅速7。在安卓系统上可以设计出功能上各具特色和不同版本的产品,但各种产品之间在数据同步上丝毫没有受到版本差异的影响,在软件兼容这方面也做得很不错。3.安卓系统给开发商提供了一个比较自由的环境,使其不受到一些所谓规范的约束,正因为如此,大大提高了软件设计的创造性与新颖性。4安卓自从被Google收购之后就一直在往和Google应用结合的方向发展,如今,安卓平台已经能和诸如Google地图、邮件等相应的应用做到完美地结合。5.利用安卓系统可以使手机任意地和网络相连接,而不用受限于运营商的种种制约,让手机使用起来更加便捷、自由。2.3 Android带来的影响Android的显现后可能包括移动通信行业、软件制造业、手机生产商这些行业,前提是当然是以消费者为最大的核心。2.3.1 对消费者的影响1)加大高端手机的选择。2)刚开始设计的时候,Android考虑到和他们目前的业务结合在一起,从以前以计算机为核心换成现在以手机的使用为目标。新生的应用,如:谷歌地图,谷歌地图所衍生的应用,Gmail等等。3)得到Android支持的基本选项中,就有包括很多我们常用的GPS卫星导航,手机摄像,MP3,蓝牙等这些选项。4)Android平台是唯一一个免费的,即使会有一些本地链接库将需要一定的费用,但大部分使用都是免费的;由于Android的虚拟机Dalvik会把Java字节码转换成自己的格式,所以即使在它的应用程序运用Java开发的时候,它可以避免需要支付给SUN的Java授权费8,这是相当有利的。2.3.2 对手机制造商的影响1)由于安卓平台开源性的特点,以Google为首,建立了一个具有大量行业的产业同盟,这个产业同盟的存在使了手机软件的开发更加有利,不管是是在技术上还是开发成本上。2)因为它是开源产品,对不占主导地位的制造商来说,技术上能够避免在和占主要地位的制造商的差距,打造一个更加具有竞争力和差异化的产品。2.3.3 对运营商的影响1)多提供的数据服务十分丰富,将会显著增加数据通信上的流量9。2)增加手机的来源,价格也更实惠。2.4 JAVA介绍Java是一种简单的编程语言的网络,它结合了其他语言的一些功能和优点,又避免了它们的缺点。Java语言的体系结构是中立的10,因为它使用的第一个是聚合成中间代码(字节码),然后加载奇偶校验,再解释给其他的机器代码来执行,只要得到Java虚拟机的支持,就可以运行各种相应程序; Java语言是多线程的,多线程指的是相同的应用程序中,同时来执行多个数据流。Java语言可以更好地处理多线程程序和现实生活中的一些具体难题,是计算机信息技术与工艺设计发展的一个必然的发展方向。系统为什么不选择C或C+语言而是选择Java,其主要原因是Android的应用层是通用的中级Java字节码,它不需要各种每个厂家封装的等效版本的硬件模型。为了避免版本的问题,在诺基亚,联想版的版本的情况下,一次编写的程序,在多个版本都可以运行。其次,在竞争中Java和.NET平台是应用程序本身最适合的一个平台,有一个庞大的开发基地,节省大量的再教育14和重新学习的成本。Java采用流的机制来实现输入和输出,这种流是指一种有方向的字符数据序列。为了获取到数据,程序会打开一个从数据源出来的流,它读取数据的方式是通过这个流;为了输出数据,程序打开一个到了目的地的流,这样就能实现将数据传输到目的地的任务。用于操作Java流对象内置的Java IO包,其包含一系列的文件和目录,这些用来运行读取文件并写入类11的操作的属性。Java反射机制是指在其处于运行中的时候,对于所有的类来说,都可以知晓该类的任何属性以及类中能使用的方法;不管对哪个对象来说,都能调用它任何一个属性和方法。这就是所谓的Java反射机制。Java反射机制主要提供以下功能:在运行时,识别任何一个对象它所属于的那个类;在运行时,识别任何类拥有的方法还有成员变量;在运行时,任何一个对象的方法都可以被调用;生成动态代理。2.5 Android内核图2.1 Linux内核Android依赖于Linux 2.6内核提供的基本服务,如安全性,内存管理,进程管理,网络,硬件驱动程序11。这里,Linux内核中所起到的是硬件层和该系统的其他层次之间的抽象层的一个概念。操作系统并不是类GNU/ Linux的,由于他们的系统库,系统启动和编程接口和标准的Linux系统都是不同的。Android系统目前的模式是通过Eclipse的自动安装12,通过大量课题研究,大致步骤是和存放在/data/app和data/data下的Android的底层和普通的内核并没有显著差异,可以把它作为一个Linux,用来开发和追踪。2.6 Android的系统架构Android系统架构如图2.2所示。图2.2系统架构如图2.2所示,Android系统采取的是分层架构思想,架构简单明了,层次分明。各层由高层到低层按顺序依次划分为应用程序层、应用程序框架层、系统运行层库以及Linux核心层。2.7 Lib介绍1.C / C +库:由各种各样Android组件使用2.开发人员透过程序框架可以使用它的功能3.包括以下内容:1)媒体库:MPEG4、 H.264、 MP3 、JPG、 PNG.2)WebKit / LibWebCore:Web浏览引擎3)SQLite关系数据库引擎4)2D,3D图形库,引擎类库丰富的支持:2D和3D图形库的OpenGL ES,SQLite数据库,对象数据库db4o的类库,媒体库,基于Linux底层的C库,等等,所以它更容易做出简单多样化的应用开发。谷歌使用该库的Apache的Harmony类库,Harmony类库在某些方面上,速度相较于Sun的VM来说还更快。 Java运行在Dalvik虚拟机,Dalvik运行的格式是简单精炼的byte code,其可以并行地执行多个应用程序,不过是在资金的低消耗和没有应用程序相互干扰的情形下。图2.3 lib运行库第3章 系统需求分析第3章 系统需求分析3.1 系统可行性分析3.1.1 技术可行性1Java提供了相对稳定的性能,使用Java进行开发更加高效,所设计出的系统运行流畅,管理方面,而且,关于这方面技术上的书籍、资料也比较齐全。2基于安卓模式的管理系统已发展日趋成熟。3众所周知,Java是面向对象的开发语言。程序开发可以在Eclipse平台上面方便的使用一些已知的解决方案。 综上所述:系统的开发技术具有可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。3.1.2 操作可行性基于安卓的音乐播放器采用的是移动终端技术,只要用户在安卓智能手机上安装改款软件,就能操作该软件,使用起来不需要受到种种制约,相对简便。同时,本系统是非常容易操作的,能与用户进行良好的交互。因此本系统在操作性上是可以进行开发的。3.1.3 经济可行性从经济上来说,只要电脑上有Android开发设备就能设计开发出Android手机音乐播放器,并且Android应用开发是免费的13。除此之外,手机音乐播放器是一种大众需求,哪些功能是所有消费者都需要的,哪些功能是部分人需要的,哪些特性是很少使用的这些信息是很容易知道的,在获取需求这块并不需要什么成本。所以系统在开发人力、财力上要求不高,具有经济可行性。3.1.4 社会可行性随着手机市场的快速发展,各种音频和视频资源在互联网上广泛流传。这些资源似乎很稀松平常,然而却在人们生活中越来越不可或缺了,这就给各种手机播放器的设计开拓了市场前景。但是许多音乐播放器致力于华丽的外在条件和强大的功能,给用户的手机带来了许多存储空间的浪费,并且在用户要同时进行多个操作的时候带来了很多不便之处。有些功能对普通用户来说是没有用的。针对这些问题,开发一个拥有简化功能的特点,有普通播放功能,满足大部分用户的需求,需要的内存小并具有高质量的播放音乐效果的音频播放器,最大限度地优化性能。3.2 总体需求结合当下发展迅速的游戏娱乐APP市场开发,设计出一种基于安卓的手机音乐播放器APP,用户通过下载该APP进行音乐播放,实现音乐播放的功能。用户可以对音乐做一些相关设置,可以收藏自己喜欢的音乐,也可以将自己喜欢的音乐通过QQ、微信、电子邮件或者云盘分享给自己的好友,还可以设置休息时间,不仅满足用户基本需求,还进一步满足用户的友好性需求。该系统充分利用安卓平台的功能特点,运用Web Services技术做到手机与手机之间的数据通信,使用SQLite数据库将基本的信息资料进行本地化存储,同时也对界面进行精心的设计,增强用户体验。3.3 功能需求需求分析就是分析用户的需要与要求。如果需要评估的结果准确地反映用户的实际需求,这将直接影响到方案设计的整个阶段,而且对系统的使用产生影响。所以,做好需求分析对一个软件来说发至关重要,起着无可比拟的作用。需求研究是从用户分析和细化的信息,在功能和性能上有所描述。它是软件开发过程中的首要工作,主要是要分析用户的需求,了解系统要具有什么样的功能才能让用户满意,从而确定我们要研究的内容,并根据此内容进行软件开发。这个手机音乐播放器APP要求在安卓系统的手机上可以运行,用户通过下载该APP能进行音乐播放。该音乐播放器需求可以分为一般控制需求和友好性需求,一般控制需求如图3.1所示:图3.1 播放器基本控制需求由图可知,在音乐播放器运行时,用户可以单击播放列表歌曲实现对应歌曲的播放,进入播放界面显示歌曲详细信息和播放进度条;当歌曲处于播放状态时,可以点击暂停按钮,实现音乐的暂停;播放器播放或者暂停时,用户点击上一首或下一首,播放器将进入上一首或者下一首歌曲播放;播放器正在播放时,用户可以进入手机桌面,这时音乐继续在后台播放;当用户在菜单界面上点击退出按钮或者从后台关掉该APP应用程序,音乐停止,退出该程序。该音乐播放器的友好性需求如图3.2所示:图3.2 播放器友好性需求由图可知,该音乐播放器具有一般控制需求,还需要满足用户的友好性需求。在音乐播放的时候,用户可以在播放界面上选择播放模式,有随机播放和重复播放两种播放模式可供选择;在播放界面上,用户可以看到对应歌词的显示;点击播放界面上的收藏按钮,可以收藏对应歌曲;同样在播放界面上,点击分享,能够通过QQ、微信、电子邮箱或者我的云盘的途径分享给好友;在菜单界面上,用户点击设置休息时间,该播放器在60分钟后自动从后台退出;同时,播放器要有断点续播功能,即当音乐播放器退出后,下次再进入的时候能从上次音乐播放的位置继续播放。总之,该音乐播放器要能从用户的角度,增强用户的体验性,满足用户友好性需求。3.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-0.9.0.zip或以上版本4.布局技术:可以使布局之间相互关联相互嵌套,其中使用最多的布局技术包括5种:AbsoluteLayout、LinearLayout、RelativeLayout、FrameLayout、TableLayout14。可以使用这些布局技术来实现界面设计的目的。3.5 性能需求 根据安卓系统要求,无响应时间为5秒。以下是对音乐播放器开发应用的要求:(1)音乐播放时应用响应时间不得在5秒以上。(2)音乐暂停时应用响应时间不得在5秒以上。(3)音乐停止时应用响应时间不得在5秒以上。 (4)上/下首音乐时应用响应时间不能在5秒以上。(5)需要系统列表时应用响应时间不得在5秒以上。(6)界面切换时应用响应时间不得在3秒以上。3.6 其它需求 一个软件项目的质量不仅包括它是否能够达到客户的预期要求,同时还得从下述不同方面进行分析。如表3.1:表3.1 软件质量需求分析质量属性详细要求正确性切实履行好职责需要,相应的完成每个模块的要求。健壮性具有高容错性和恢复能力。可靠性每1000个小时的时间超过3次的失败率。性能,效率软件更新周期的输出应该是相同的系统信息更新周期。网络状况良好的时候 ,在三秒钟内响应消费者的需求。易用性很容易理解:建立一个统一软件开发过程简单的语言文件,之前和之后的语句是清晰和易于理解。安全性保障用户的个人信息安全可扩展性二次开发能满足或改善的功能扩展,并增加适当的安全控制。兼容性简单的冲突与其他软件。可移植性该系统可以很容易地转移到其他运行环境。第4章 系统概要设计第4章 系统概要设计4.1 概述系统的概要设计就是结合系统的需求性分析,然后根据现有工具进行开发;其中功能设计是最重要的也是我们需要加大精力去做的;该手机音乐播放器的主要任务是能够让用户在Android系统的手机上下载该APP进行音乐播放,让其选择音乐文件进行播放,也可以收藏音乐,还可以通过一些渠道分享自己喜欢的音乐。借助开发系统工具完成这些功能模块以及良好的UI界面的开发,来满足用户的需求,通过丰富软件的可玩操作性来增加用户黏性,让此软件越做越好。4.2 系统功能结构本音乐播放器APP,根据之前的总体设计分析,可以将其划分了若干个子系统,每个子系统都是一个独立的功能,另外子系统之间也是相互的。划分子系统可以让整个系统清晰展现出来。根据本音乐播放器APP的功能划分,做出系统功能模块图如图4.1所示。图4.1 功能模块图整个音乐播放器分为主界面模块、播放界面模块、菜单界面模块、歌曲设置模块以及其他模块,用模块化设计思想进行编程,再结合起来,进而设计出该基于安卓的音乐播放器。4.2.1 主界面模块设计在该音乐播放器,主界面就是歌曲列表界面,主界面模块如图4.2所示。图4.2 主界面模块图歌曲信息:主要是显示歌曲名字和歌手名字。当前播放情况:主要显示当前播放的是歌曲列表中的哪一首歌曲。4.2.2 播放界面模块设计播放界面模块如图4.3所示。图4.3 播放界面模块图播放:实现音乐的正常播放。暂停:实现音乐的暂停。上一首:点击上一首时,音乐播放器播放上一首歌曲。下一首:点击下一首时,音乐播放器播放下一首歌曲。播放模式:用户通过点击对应按钮实现随机播放或者重复播放的选择。歌词显示:在播放界面上显示已经在手机上下载好的对应歌曲的歌词。播放音轨:主要显示歌曲时长,匹配歌曲目前的播放进度,同时可以通过拖动播放音轨实现播放进度的控制。4.2.3 菜单界面模块设计菜单界面模块如图4.4所示。 图4.4 菜单界面模块图本地搜索:用户可以搜索手机上已下载的所有歌曲。设置休息时间:可以选择设置休息时间,60分钟后音乐播放器从后台退出。音乐播放器介绍:主要是介绍音乐播放器的信息。其他设置:进行界面显示等方面的一些设置。退出:音乐播放器从后台退出。4.2.4 歌曲设置模块设计歌曲设置模块如图4.5所示。图4.5 歌曲设置模块图添加到播放列表:用户可以长按某一首歌曲,选择添加到播放列表,这个播放列表可以是用户新建立的,当然也可以是用户之前就已经建过的。设为铃声:可以将自己喜欢的歌曲设置为手机铃声。删除:删除对应歌曲。搜索音乐:用户可以搜索手机上已下载的所有音乐。4.2.5 其他模块设计其他模块如图4.6所示。图4.6 其他模块图收藏:用户可以选择自己喜欢的歌曲收藏。分享:用户可以选择自己喜欢的歌曲,然后通过各种途径分享给好友。第5章 系统详细设计第5章 系统实现5.1 数据库设计在每一个应用程序中,数据库的设计都是极其重要的组成部分,挑选合适的数据库并创建适宜的结构式开发程序是必须要完成的任务。数据库的安全也是必须要保障的,要保障数据库里面信息的保密性,完整性,一致性和可用性,防止没有权限的用户不合法地使用数据库而达到窃取,更改或破坏数据库中数据的目的,对此,数据库设计过程中将提供一些安全措施来保证数据库的安全。安卓系统本身就有了一个专门用来存储媒体相关信息的封闭类MediaStore,可以通过Uri EXTERNAL_CONTENT_URI来访问SDcard歌曲的详细信息,其中,存放的媒体信息包括TITLE、ARTIST、ALBUM、SIZE,如表5.1所示:表5.1音乐播放器数据库表属性数据类型允许空主键_IDINTEGERNot NullPrimary KeyTITLETEXTNot NullARTISTTEXTALBUMTEXTSIZELONG音乐播放器对应的E-R图如图5.1所示: 图5.1音乐播放器E-R图5.2 模块界面实现5.2.1 播放器主界面本音乐播放器目的性强,启用后直接进入主界面,也就是播放列表界面,直观、简单,这直接将可操作界面展现在用户面前,供用户选择、操作。设计的播放器主界面里面就包括歌曲名字,歌手名,能将现有的音乐展示出来,让用户选择音乐播放。播放器应用主界面效果图如图5.2所示。 图5.2 播放器主界面5.2.2 音乐播放界面本音乐播放器,播放界面显示相应的歌曲名字、歌手名还有对应歌曲的图片,当然还包括最基础的播放、暂停、上下首功能。该播放界面还实现播放音轨的功能,显示歌曲时长和目前的播放进度,以及能拖动播放音轨以实现歌曲播放进度的快进、后退。与此同时,在本音乐播放器的播放界面上,还提供播放模式的选择放,可以选择随机播放或者重复播放,满足用户的良好性需求。界面效果如图5.3所示。 图5.3 音乐播放界面5.2.3 音乐歌词显示页面本音乐播放器,能显示本地已经下载好的歌词,以便用户能更好欣赏音乐,效果图如图5.4所示。图5.4 音乐歌词显示界面5.2.4 音乐菜单界面本音乐播放器,设计一个菜单界面,在菜单界面上有本地搜索,可以通过歌曲名字搜索所有本机上的音乐;菜单界面上有随便来一曲,即随机播放功能;同时在菜单界面 “关于音乐播放器”上简单介绍了该音乐播放器的相关信息;界面上还设置休息时间,设置60分钟后进入休息时间,即退出该音乐播放器,这大大满足用户的友好性需求;在菜单界面的最下面,设置了退出功能,即从后台退出音乐播放器。效果图如图5.5所示。 图5.5 音乐菜单界面5.2.5 音乐歌曲设置在该音乐播放器中,每首歌曲都设置有添加到播放列表、设置为手机铃声、从本地存储中移除、搜索音乐的功能,其效果如图5.6所示。图5.6 音乐歌曲设置5.2.6 音乐歌曲分享在该音乐播放器中,设置有分享功能,本地上的每首歌曲都能通过我的云盘、电子邮件、信息、QQ、微信来分享给好友,其效果如图5.7所示。图5.7 音乐歌曲分享第6章 系统测试第6章 系统测试6.1 测试重要性对系统开发过程所产生的文档、编码等进行详细检查,充分保证这些产品的质量,这个过程就是软件测试。软件测试不仅是软件开发过程中一个不可或缺的部分,更是在整个过程中占有着非常大的比例。根据研究,通过必要的软件测试,软件缺陷可以减少70%15,这是一种大大地提高产品质量的途径。同时,通过软件测试,可以减少产品的漏洞,能够预防遭受木马攻击的可能。我们可以利用大量的资源努力进行开发,但是如果没有进行相应的软件测试,开发出来的产品往往会是由于质量的问题而没有办法打开用户群,占据市场份额,由此,软件测试对于一个软件产品取得成功的重要性可想而知。6.2 测试方法本测试主要是针对音乐播放器的整体功能和一些主要功能模块进行测试,所采用的测试技术是黑盒测试,测试系统的功能是否能正常使用,该音乐播放器的功能是否符合按功能规范要求。黑盒测试,另一种说法就是功能测试,是在不考虑程序内部具体结构的前提下,对系统的功能进行的测试,主要能检测出的错误类型有:软件功能是否正确或者有没有遗漏的功能;界面是否不符合要求或者说不正确;是否有输入、输出的错误;性能上能够满足要求;数据库访问上是出现错误;是否具有初始化或终止错误。6.3系统功能测试6.3.1 播放器播放功能测试作为一个播放器,整体功能主要就是针对播放功能这一块,对播放器播放功能测试的结果如表6.1所示。表6.1 播放器播放功能测试结果测试内容测试结果播放控制能正确地实现播放、暂停功能格式支持支持MP3格式播放模式选择能选择随机播放或者重复播放上/下首歌曲选择能正确选择上一首、下一首歌曲6.3.2 播放器菜单功能测试针对音乐播放器的菜单界面,对其菜单上的功能进行测试,菜单功能测试结果如表6.2所示。表6.2 播放器菜单功能测试结果测试内容测试结果本地搜索能正确地搜索出在输入框输入的本地上的歌曲随机播放选择能实现歌曲随机播放播放器介绍能正确显示出该播放器的相关介绍信息设置休息时间休息时间设置完毕后能正确地在所设时间退出系统退出选择能实现系统从后台退出6.3.3 播放器歌曲设置功能测试对音乐播放器歌曲设置功能进行相应测试,测试结果如表6.3所示。表6.3 播放器歌曲设置功能测试结果测试内容测试结果添加控制能实现将所选择的音乐添加到相应的播放列表设置为铃声能实现将所选择音乐设置为手机铃声移除能实现将所选择歌曲从本地存储中彻底移除搜索音乐能正确地搜索到本地存储上的音乐6.3.4 播放器其他模块功能测试对播放器的其他模块,也就是歌词显示、分享、收藏这些功能进行测试,测试结果如表6.4所示。表6.4 播放器其他模块测试结果测试内容测试结果歌词显示能正确地将歌曲对应的本地已经下载好的歌词显示出来收藏能正确地实现收藏歌曲的功能分享能通过相应途径分享歌曲给好友第7章 结论与展望第7章 结论与展望7.1 结论通过对安卓平台的音乐播放器的开发,我对系统的整体流程有了清晰的了解,对安卓音乐播放器的整体设计也有了一个比较深入的了解。音乐播放器有六大核心部分,分别是主界面、播放控制、菜单、歌曲设置、文件浏览和歌曲搜索。掌握了这六个部分,就能初步设计出一个音乐播放器。根据六类的功能,再添加一些其他小功能,就能设计出一个相对完善的音乐播放器。该音乐播放器实现了作为播放器最基本的控制需求,也就是播放、暂停、上一首、下一首,还实现了歌词显示、播放模式选择、收藏、分享、设置休息时间以及断点续播的友好性功能,以及其他的一些功能。该音乐播放器的开发与流行的移动终端开发技术有着密切的联系,其是基于Linux系统上的一种开源、高效的开发技术。本设计采用eclipse3.5 + java语言作为本系统的技术支持,同时伴随着Android插件工具,结合Android SDK2.1版本导致了移动终端全面、顺利的设计与开发本次程序设计,通过查找相关资料以及自己的努力,顺利完成。在程序设计过程中,我深入学习Android多媒体框架结构和多媒体框架核心Open core,并通过对Open core的学习进一步认识和理解。同时,对Android系统的相关知识有了一个比较深入的了解,对程序的整个开发流程和模式的理解也更加透彻,这对我以后从事Android的软件开发有很大的帮助。7.2 进一步的工作方向本文的研究虽然有了小小的成就,但是仍然存在诸多不足,还有很多地方需要我们去改进、完善,进行更加深入、细致的研究。首先界面可能没那么美观,没有非常强的吸引力,针对这块,我会好好学习UI设计的技术,将界面这块设计得更加漂亮,逐渐美化界面;另外,由于一些接口费用和申请权限问题,该音乐播放器功能模块并不完善,还未实现在线播放这一块,之后我会去寻找另外一些途径,比如服务器之类的来努力实现在线播放的功能。总而言之,针对目前该音乐播放器存在的缺陷问题,我将有针对性地加强相应技术的学习,有的放矢地改进。参考文献参考文献1Jerome V.Pro.Android GamesM.Mario Zechner:Apress,2012:5-10.2贾永鑫.Android音乐播放器的设计与实现D.黑龙江:黑龙江大学,2013.3 杨丰盛. Android应用开发揭秘 L004 M. 北京:机械工业出版社,2010:43-65.4 Shawn Van Every.Pro Android MediaM.Berkeley:Apress,2010.5 郭宏志.Android应用开发详解 M. 北京:电子工业出版社,2010:22-300.6 杨文志. Google Android程序设计指南M. 北京:电子工业出版社,2009:10-100.7 公磊,周聪.基于Android的移动终端应用程序开发与研究J.计算机与现代化,2008(8).8 陈昱,江兰帆.基于Google Android平台的应用程序开发和研究J.福建电脑,2008(11):156-157.9 吴亚峰,苏亚光. Android 2.0游戏开发实战宝典 M. 北京:人民邮电出版社,2010:15-30.10 张孝祥. JAVA邮件开发详解M. 北京:电子工业出版社,2007:10-300.11 Marziah Karch.Android for WorkM.Berkeley:Apress,2010.12 靳岩. Android 开发入门与实战 M. 北京:人民邮电出版社,2009:10-50.13徐君莉.基于Android平台的音乐播放器的设计与实现D.江西:江西理工大学,2015.14杨文华.基于Android平台的音乐播放器的设计与实现D.西安:西安电子科技大学,2014.15 (美)梅耶(Myers,G.J.)等著 王峰,陈杰译.软件测试的艺术M.机械工业出版社 2006.70-84.致谢致 谢在此,我谨向在我制作毕业设计过程中帮助过我的同学和导师表示感谢。在这个过程中,导师经常询问我毕业设计和论文的进度,关心我的学习和工作情况,在我遇到技术上的难点时耐心帮助我,提供给我解决思路,给我鼓励,帮助我顺利解决问题。论文格式上,担心细心地给我的论文做批注,指导我修正论文上存在的问题。没有他的指导,也不会有我今天所展现出的成果。感谢导师的帮助。然后就是我的同学们,他们集思广益,在我的制作过程中提出各种好的可用的想法,在我有技术问题的时候,能帮我查找资料,会相关方面技术的同学还会帮我一起解决技术问题,感谢我的同学帮助我,给予我鼓励。另外,我还要感谢我的父母,不只是这么多年来对我的栽培和养育,让我有实现梦想的机会,在我做毕业设计的时候心情比较郁闷,是他们耐心疏导我,给我非常大的鼓励,感谢父母给予我无私的爱。最后向所有关心我的同学、老师,还有我的父母表示最真挚的感谢。
展开阅读全文