目 录
摘要 III
Abstract IV
第一章 绪论 1
1.1 背景及意义 1
1.2 国内外发展状况 2
1.3 论文主要工作 3
1.4 本文组织结构 3
第二章 相关技术及开发语言简介 5
2.1Java简介 5
2.2 Andriod简介 6
2.3 Android媒体库 6
2.4 SQLite简介 6
2.5 本章小结 7
第三章 系统需求分析 8
3.1 功能性需求分析 8
3.1.1 视频播放器 9
3.1.2 音乐播放器 10
3.2 非功能性能分析 13
3.3 本章小结 15
第四章 系统详细设计 16
4.1 系统架构设计 16
4.2 数据库设计 16
4.3 功能详细设计 18
4.4 本章小结 21
第五章 系统实现与测试 22
5.1 系统构架 22
5.2 系统实现 22
5.3系统测试 25
5.4本章小结 26
第六章 总结与展望 27
参考文献 28
致谢 29
第一章 绪论
1.1 背景及意义
Android是Google旗下的移动设备开源操作系统。该系统是以Linux为内核,包含操作系统、中间件、用户界面以及应用软件,是当前市场上用户占有率最高的移动操作系统[1]。
2007年,谷歌向用户开放了Android系统的源代码,成为市场上唯一的开源移动操作系统,任何组织和个人可以根据需求修改编译其源码。其开源性为企业和个人降低了开发成本,越来越多人投入到了Android应用的开发中。此次设计的音乐播放器主要是通过学习Android开发方式来为以后的工作做准备。
针对目前计算机的全面接入生活,手机渗透生活技术的急速发展,形式各种各样的音乐视频资源也在网上风生水起。这些音频视频资源看似平凡,因为人们在生活中依赖互联网早已习以为常,音频视频资源已经成为人们文化精神生活不可缺少的一部分。因此各种手机播放器应运而生,壮大发展,功能特征各样,更有个性化,乃至出现音视频软件定制化的趋势。当下的音视频播放器以求外观美丽,追求功能庞大为主流。这样的编程思想指导下的,音视频播放软件将会给用户手机造成了很多的资源浪费,内存消耗大,CPU低速,系统过载,乃至引发整个手机系统崩溃。此外,手机用户需要多专有的,个性的操作需要,就会受到了严重的限制。而另一方面,又造成系统资源的闲置。也给用户带来了不便,人力物力的浪费,形同虚设,。而对于以上各种弊端,选择了开发多语种的音乐视频播放器,针对用户个性需要,对系统性能进行再选择,挑选,淘汰,提升,优化播放器的传统功能,满足主流用户(如听歌,看视频)的基本需求外,还满足可以播放常见格式的语音视频文件,还能播放RMVB、AVI等格式的视频文件。对用户的个性需要、文件类型,音效,音质进行专有设计,傻瓜式设计。
通过了解市场上流行的智能手机播放器的调查,掌握它们各自的插件以及编码方式,还有各种播放器能播放文件的格式类型,分析各种编码的优缺点,以及各种播放器本身存在无使用效率的设计,我们才能编写出功能实用,方便快捷,个性张扬的播放器。到目前为止,已经实现的功能有能播放常见音乐视频文件的功能,如MP3,MP4,AVI等格式的文件,拥有常规的播放菜单,播放清单,具备了普通播放器的基础功能:快进、快进、音量调节等。播放模式包括单曲,循环,顺序,随机播放的个性喜好定制等。
1.2 国内外发展状况
Android是以Linux为内核的移动操作系统,为移动应用程序的开发环境提供了新机遇。为用户提供了大量的API,供开发者调用[2]。可以将Android架构分为两层,上层是应用层,为用户提供与移动设备的交互功能。底层为Linux内核层,为操作系统提供硬件访问支持和为应用层提供服务支持。刚开始Android系统并不是很流行,直至后来它做得越来越好,无论是从界面、功能还是其他方面都广为人们所接受,但现今社会的生活节奏是越来越快,人们对音色品质这些要求也越来越高。老式播放器的音色简单,单一的特性更是不能让它在现在的社会生存下去,所以代表着更清晰、立体声更浑厚音质的播放器逐渐取代了它正式登上舞台,苹果公司在2001年10月推出了第一代IPOD,将播放器推送到了艺术与文化的巅峰。
据调查显示,2011年统计的全国智能手机的手机销售量持续增加,比起第二季,第三季的Android智能手机的销售量甚至突破50%,达到了52.5%,分别超过iOS系统和BlackBerry系统,一跃成为了全球最大的智能手机系统。2011年与去年第二、三季同期相比,分别增加了15.4%和22%[3],增势迅猛不可挡。iOS的销售额和去年相比,比去年同期的跌了1.6%,BlackBerry销售额也有所下降。而Microsoft销售额到了1.5%[3]。如图1.1所示:
图1.1市场销售量比例显示图
由于Android受到当前市场上大量用户的青睐,推动国内外的组织和个人对Android的研究,促使Android的发展呈上升趋势。Android平台的智能手机在各大销售市场中,已明显的占有越来越多的比重,很多人都会选则Android手机而不是其他。
1.3 论文主要工作
在本系统的开发与设计过程中,都严格按照软件工程的设计思想,全面剖析音乐视频播放器的内容,以不同的功能划分模块,进而完成了音乐视频播放器系统的需求分析和数据模型建设。主要研究目标为了解基于Android应用程序的设计以及开发过程,使用多种组件对基于Android 平台的音乐视频播放器进行开发。
该系统采用JAVA语言开发,按照软件工程的标准和规范从需求分析、概要设计、详细设计、编码、测试和维护等方面来设计基于Android的音乐视频播放器系统。在相关技术分析部分,主要介绍开发本系统所采用的一些技术和常用的框架,例如掌握Android应用软件开发的相关基础知识,掌握Android音频/视频多媒体开发应用、Android平台的相关技术以及学习Eclipse环境下Java语言的编程和android sdk编程相关知识,对本系统的开发做好基础的准备。
系统设计与实现中,根据系统需求分析,提出系统设计的目标和设计思想,对系统采用的相关技术、系统布局等进行设计。在系统体系结构的架构上,对系统数据进行分析设计,通过数据库的设计过程,分析设计出符合系统开发的数据模型,利用数据流图、结构图、活动图等对系统模块进行分析。
1.4 本文组织结构
本文一共分为六个章节,首先讨论了基于Android的音乐视频播放器研究的背景及意义,并分析了国内外基于Android的音乐视频播放器的发展状况;重点通过对系统开发的相关技术进行分析,以及阐述了系统构建的设计原则和实现方案,最后介绍系统功能测试,文章具体结构安排如下:
第一章:主要介绍了基于Android的音乐视频播放器的开发背景及意义,并对国内外的发展状况做了分析。
第二章:主要对系统开发所用到的关键技术进行分析,为系统的设计与开发做好准备。
第三章:对系统总体需求进行分析,并对系统开发模式进行描述,划分出系统设计的功能性需求分析,最后对系统非功能性需求进行分析。
第四章:在系统详细设计的基础上,选择适合的系统架构,提出系统设计的目标和系统构建设计。在系统体系结构的框架上进行了详细的功能设计以及每个功能模块通过活动图来表示,对系统主要模块的数据库设计进行了分析说明,设计出数据关系表。
第五章:论文介绍了系统实现和测试过程,对系统功能的实现方法进行说明,采用相关的测试方法对系统进行测试,以保证系统功能的可用行和可行性。
第六章:论文对基于Android的音乐视频播放器的设计和开发成果进行简单的总结,对系统的发展前景做出评价,同时指出了系统的不足之出,并提出了一些改善构想。
第二章 相关技术及开发语言简介
2.1Java简介
Java语言的产生与过去30年中计算机语言不断改进和发展密切相关。Java和C++都是面向对象的程序设计语言,它们的设计语法结构存在着部分相似的地方,而C语言又派生出了C++,Java许多面向对象的特性受到了C++的影响[4]。因此Java语言继承了这两种语言的大部分特性,Java语言的特点有以下几点:
- Java参考了C++的面向对象的特点,但不同的是Java是纯面向对象的。且相对于某些语言来说,Java更加简单、便捷。
- Java具有很强大的跨平台性,是因为Java提供了接口,同时也使得Java具有很好的可移植性。这是C#不具备的。不过虽然很实用,但也会带来一些小的问题:需要存储.java文件和.class文件。
- Java语言不在使用指针,取而代之的则是引用。可以有效的防止使用指针不当而引起的错误,使得代码更加安全、正确而且编写代码也更方便。
- Java还加入了多线程的机制。使得系统可以同时被多个用户访问,非常高效。
- Java加入了动态机制,Java比C++语言更有动态性,更能适应不断变化的环境
编写的代码可以实现动态的执行不同的功能,这是很实用的。
2.2 Andriod简介
Android是由Andy Rubin创立的一个手机操作系统,后来被Google收购。Google希望与各方共同建立一个标准化、开放式的移动电话软件平台,从而在移动产业内形成一个开放式的操作平台[5]。
Android系统早期由原名为Android的公司开发,Google公司在2005年收购Android Inc.后,继续对Android系统开发运营。到目前为止Android系统已经是主流手机系统之一,受到越来越多的用户欢迎[6]。
2009年5月,Google发布了Android 1.5,该版本想用户提供了一个交互性良好的操作界面,支持不同移动设备之间的蓝牙连接,方便用户之间的文件共享。这个版本的Android吸引了大量开发者的目光,接下来,Android的版本更新越来越快[7]。自从Google公司在2007年11月5日发布Android的第一个版本(Android 1.0)以来,Android共经过了9次大的版本升级。
2.3 Android媒体库
媒体库,基于PacketVideo OpenCORE;Android媒体库支持录制播放,可录制当下流行的音视频格式,还有一些静态的文件格式,如图片的JPG格式,Surface Manager是Android应用程序框架下的libraries中的一个模块,Surface Manager负责管理显示与存取等操作的进行。其中还包括浏览器引擎,可在android上显示web界面,另外还有一些对程序优化的库,比如提供了3D加速。FreeType,向量(vector)字体显示和位图(bitmap)。
2.4 SQLite简介
Sqlite是一种轻量级的关系型数据库,相对于mysql,sql server等数据库而言,其最大的优点就是占用资源较少,又由于Android是移动端操作系统,所以这也是为什么Android会将sqlite作为数据库最主要的原因,sqlite也支持各种语言的调用而且只需要经过接口调用即可,这也是sqlite应用广泛的原因。如果你需要在android上存储数据,sqlite将会是一个不错的选择。SQLite数据库,能够支持较多主流的操作系统,能够跟许多语言相结合,而且处理速度非常快。SQLite数据库支持功能支持SQLite数据库有以下功能:- 自动建表:可以根据我们的注解来完成自动建表,而且在我们继承类中的注解也可以完成自动建表。
- 支持自动增删改:增删改是数据库最主要的操作,是对数据最基本的操作,但在我们的sqlite中不必重复写这些操作,而且支持对象化的操作。
- 查询方式灵活:我们可以使用android框架中提供了对sqlite查询的方式来操作sqlite,当然,也支持sqlite自带的查询方式。
- 查询结果对象化:我们在对sqlite进行查询以后,可以将其包装为对象,方便我们之后的操作。
- 查询结果灵活:前面提到,可以将查询结果包装为对象,对于我们的程序而已,可能会有不同的数据要求,sqlite也为了提供了转化为List的方法,而且,这方法非常实用。
2.5 本章小结
本章节主要介绍了在论文中所涉及到的开发技术。Java是一种简单的,面向对象的,性能优异的,多线程动态语言。Android操作系统主要用于便携设备,它是一种以Linux为基础的开发源代码操作系统。主要用于支持系统的多媒体技术的数据库是Android媒体库。SQLite数据库,能够支持较多主流的操作系统,能够跟许多语言相结合,而且处理速度非常快。
第三章 系统需求分析
3.1 功能性需求分析
该系统运用的瀑布开发模型。瀑布开发被称作系统开发生命期模式,简称SDLC(Systems Development Lifecycle Model)[8],这是一种软件开发途径。瀑布模型(Waterfall Model),又称为经典生命周期(classic life cycle),它提出了一个系统的、顺序的软件开发方法,从用户需求规格说明开始,通过计划、建模、构建和部署的过程,最终提供一个完整的软件并提供持续的技术支持[9]。
音乐视频播放器系统可以为客户提供简洁舒适的播放界面,可以最大程度地保证用户的使用安全,提高用户的使用兴趣,本系统按照功能的不同,可以细分为两个模块,即音乐播放模块和视频播放模块,本小节将采用用例图、流程图等对系统需求做详细的用例描述。
本软件是一款基于Android手机的音乐视频播放器,主要用于播放手机中的mp3音乐文件和MP4,3GP,AVI视频文件,系统用例图如3.1所示。
图3.1 播放管理用例图
从图中可以看出本软件主要为用户提供两个功能:音乐播放和视频播放功能。用户和系统的主要互动也是这两个功能模块。
3.1.1 视频播放器
视频播放器主要用于播放视频,对其功能描述的用例图如图3.2:
图3.2 视频播放用例图
如图所示视频播器放主要有两个功能:新更和视频播放,下面对这两个用例分别描述。
- 更新。
表3.1更新用例描述
用例名称:更新
简要说明
主要用于更新手机中的视频文件
事件流
基本流程:
1.点击更新按钮
2.在后台服务中扫描手机SD卡
3.将扫描到的视频文件添加到Android系统媒体库中 - 将媒体库中的视频读取显示到视频列表中。
2.视频播放
表3.2视频播放用例描述
用例名称:视频播放
简要说明
视频播放用来播放手机中检测到的本地视频文件,播放时可根据进度条控制播放进度以及调节音量大小,可进行上一个下一个视频播放
事件流
基本流程:
1.点击视频列表中的视频
2.加载视频文件到媒体库中
3.播放放视频,如果有需要在播放器中通过进度条控制音量和播放进度。
3.1.2 音乐播放器
音乐播放器主要用于播放手机中的音乐文件,功能用例图如图3.3所示:
图3.3 音乐播放器功能用例图
1.更新音乐
表3.3更新音乐用例描述
用例名称:更新音乐
简要说明
主要用于更新手机中的MP3音乐文件
事件流
基本流程:
-
点击更新按钮
-
在后台服务中扫描手机SD卡
-
将扫描到的MP3文件添加到Android系统媒体库中
-
将媒体库中的MP3文件读取到本地音乐列表中。
2.本地音乐
表3.4本地音乐用例描述
用例名称:本地音乐
简要说明
音乐列表用来显示手机中的音乐文件,更新完成后,将音乐文件加载在列表中,在列表中有一个下拉菜单,菜单中有两个选项:删除和我的最爱,删除可以将手机中的该音乐彻底从存储器中删除,在删除的时候应该提示用户是否删除,以避免误删。
事件流
基本流程:
1.进入列表
2.点击音乐,跳到播放器中播放音乐
3.如果需要删除则点击下拉菜单中的“删除”,弹出对话框,提示是否删除,如果确定删除则点击“确定”,否则点击“取消”。 -
音乐播放
表3.5音乐播放用例描述
用例名称:音乐播放
简要说明
音乐播放用来播放手机中检测到的本地音乐文件,播放时可以显示歌手姓名以及歌曲名称,可以使用进度条控制播放进度以及调节音量大小,菜单键中有上一曲、下一曲、播放、暂停等功能。
事件流
基本流程:
1.在本地音乐列表中选择音乐进行播放
2.在媒体播放器中读取音乐文件信息
3.播放音乐
4.如果需要可以进行播放控制:控制播放进度,音量,上一曲,下一曲。
4.我的最爱
表3.6我的最爱用例描述
用例名称:我的最爱
简要说明
最爱列表用来显示手机中喜欢的音乐,把喜欢的音乐添加到我的最爱列表中后,可以进行播放,对于不喜欢的音乐可进行删除操作。
事件流
基本流程:
1.进入我的最爱列表,加载SQLite数据库中的我的最爱音乐
2.选择音乐进行播放
3.如果不喜欢该音乐,点击“删除”菜单,将音乐从SQLite数据库中移除,弹出对话框,选择“取消”则不删除,选择“确定”则删除。
5.最近播放
表3.7最近播放用例描述
用例名称:最近播放
简要说明
可以自动记录最近播放音乐,在最近播放列表中,可进行音乐播放。
事件流
基本流程:
1.每一次播放都记录播放的音乐到最近播放的SQLite的相应表中。
2.打开列表,读取数据库中的音乐信息。
3.选择音乐进行播放。
6.更换壁纸
表3.7更换壁纸用例描述
用例名称:更换壁纸
简要说明
对于不喜欢的背景图片可进行更换,点击选择图片,将选中的图片设置为背景 。
事件流
基本流程
1.进入壁纸列表
2.加载软件中的壁纸图片
3.选择壁纸图片
4.将选择的图片写到SQLite数据库中的背景图片的表中
5.每一次打开界面读取数据库中的背景图信息,找到对应的图片设置背景。
3.2 非功能性能分析
软件性能对于一个软件来说是十分重要的,在设计软件的过程中必须要考虑其性能,本软件是运行在Android手机上的一个小型软件,由于手机的设备的限制,它不适合运行大型应用程序,做复制的业务处理,本软件的功能和处理流程并不复杂,因此要求本软件在设计的时候大小不能超过5M,响应时间应该竟可能小,在加载音乐文件和视频文件进行播放的时候,响应时间不能超过1秒,更换壁纸的响应时间不能超过1秒。
在执行音乐和视频的更新的时候不能影响其他模块的操作。
对于系统功能的描述与分析,可以分为功能性需求分析和非功能性需求分析,前面小节对系统功能性需求做了详细分析,并对系统总体业务进行了描述,根据功能的不同将系统划分为三个模块,本小节将对音乐视频播放器系统非功能性需求进行分析。
传统的音乐视频播放系统只需要注重系统功能性需求就可以完成系统的开发,但对于现代的播放器系统,似乎并不能满足系统的开发需要;在功能性需求完成的同时,非功能性方面的要求也逐渐成为软件开发的竞争优势。
本基于Android音乐视频播放器系统的非功能性需求包括:经济适用性、技术可行性、操作可行性、实用性、简单性。
- 经济可行性分析
随着信息的发展,手机的普及,尤其是基于Andriod的手机设备的迅速发展,Andirod已经成为了业界和社会的最大的热点之一。Andriod是开放性的,使得每个人都可以完成自己的想法。根据自己的想法来进行编程,其应用程序的开发只需要一台电脑和Android手机即可,这两种设备在当前普及度极高,因此适合开发。 - 技术可行性分析
Google为Android开发者提供了丰富的文档支持,本软件除了使用Android中的基本组件外主要使用了Android系统中的多媒体功能,它为开发者提供了丰富的接口,可以直接调用,在市场上的各种参考文献和官方文档中都有详细的介绍。使用的Java编程语言是当前主流的编程语言之一,学习起来并不困难,经过一段时间的准备学习,能够完成本软件的开发。 - 操作可行性分析
该软件以Android基于Android操作系统实现,开发环境为安装Android SDK的开发工具eclipse,eclipse是一款免费的开发工具。在eclipse中使用Android模拟器即可运行调试该软件,最终安装到任意Android终端。模拟器和真正的Android手机没有太大区别,人们对手机操作早已熟悉[10],也可直接使用Android进行调试开发。 - 实用性分析
软件设计只需要能够满足用户的需求即可,没必要为了显示能力或水平,增加许多不实用、用户需求未提出、平时也基本不会用到的功能或服务。对于软件开发人员来说,应该尽量做到“不多也不少”[11]。刚好能够满足软件开发就行了,所以该系统从实用性来说适合开发。 - 简单性分析
软件设计并不是使用的技术和设计的模型越复杂越好,这一方面对资源和人员的要求更高,另一方面复杂性的提高会增加最终软件产品在实现过程中引入缺陷的可能性,降低软件产品的可靠性[11]。所以从简单性来分析,该系统适合开发。
3.3 本章小结
本章介绍了基于Android的音乐视频播放器的功能性需求和非功能性需求,通过对系统开发模式,系统功能以及系统界面需求进行描述,对系统需求有了深入了解,为软件开发做好了充分准备。除此,本系统还在非功能性需求部分考虑到了经济、技术、操作可行性分析等。
第四章 系统详细设计
4.1 系统架构设计
本系统是用户经常使用并且比较熟悉的音乐视频播放器。这样就能让用户更方便快捷的使用本款音乐视频播放器了。基于Android的音乐视频播放器系统以简洁的界面风格和完善的功能模式进行开发,本系统具有操作简便、稳定性好等优点。本系统主要是对视频播放的管理和音乐播放的管理,主要功能有:更新视频、播放视频、更新音乐、播放音乐、搜索本地音乐、添加我的最爱、记录最近播放以及更换背景等功能。总体需求功能结构图如图4.1所示:
4.1 总体需求功能结构图
4.2 数据库设计
数据库是数据管理的最新技术,是计算机科学的重要分支。目前,数据库在软件设计中占有很大的比重,系统数据主要都是存储在数据库中,系统通过访问数据库中的数据来展示系统数据信息,将产生的数据存储在数据库中来实现信息化的管理[12]。
该音乐视频软件中的数据库主要用于存储用户喜欢的音乐,最近播放的音乐和当前所使用的壁纸的文件名称。
(1)最爱列表:该表用于存储用户添加的喜欢的音乐,表中存储的是该音乐的最基本的信息音乐名,歌手,文件存储地址和添加时间,在播放的时候获取表中的信息然后去系统中匹配到相应的文件之后播放该音乐,用户进入我的最爱列表中的时候显示音乐名称和歌手。最爱列表如表4.1所示:
表4.1 用户表
字段 类型 长度 是否为空 描述
musicName varchar 50 Yes 音乐名称
Singer varchar 20 Yes 歌手
url varchar 100 Yes 文件地址
time varcha 50 Yes 创建时间
(2)最近播放表:该表用于存储用户最近播放的音乐,表中存储的是该音乐的最基本的信息,音乐名,歌手,文件存储地址,添加时间和播放次数,在添加记录的时候如果表中已经存储了该音乐的时候,那么只需要更新播放次数。在播放的时候获取表中的信息然后去系统中匹配到相应的文件之后播放该音乐,用户进入我的最爱列表中的时候显示音乐名称和歌手。最近播放表如表4.2所示:
表4.2 最近播放表
字段 类型 长度 是否为空 描述
musicName varchar 50 Yes 音乐名称
Singer varchar 20 Yes 歌手
url varchar 100 Yes 文件地址
time varcha 50 Yes 创建时间
Count Int Yes 播放次数
(3)背景图表:背景图的表中只用于存储一条数据,该数据为软件的背景使用的图片,初始化的时候会插入一条数据,之后每一次的更换背景则修改背景图名称的字段,在打开每一个软件界面的时候去查询该表获取图片名称。背景图表如表4.3所示:
表4.3背景图表
字段 类型 长度 是否为空 描述
Id char 2 Yes 背景编号
back varchar 20 Yes 背景图片名称
以下是在SQLite中创建数据库的代码。
public void onCreate(SQLiteDatabase db) {
// TODO
String sql1 = “create table if not exists LovestMusic (musicName varchar(50) ,Singer varchar(20),url varchar(100),time varchar(50));”;
String sql3 = “create table if not exists RecentlyMusic(musicName varchar(50) ,Singer varchar(20),url varchar(100),time varchar(50),count int)”;
String sql4 = “create table if not exists background(Id char(2),back varchar(20))”;
db.execSQL(sql1);
db.execSQL(sql2);
db.execSQL(sql3);
db.execSQL(sql4);
}
4.3 功能详细设计
- 视频播放活动图
图4.2视频播放器活动图
在视频播放器中,更新视频文件到手机的多媒体数据库中,然后从数据库中读取视频文件到列表中,如果手机中没有视频文件则不添加,如果有则添加,添加之后在该列表中选中想要播放的视屏进行播放,可以在播放器中进行播放的控制。
2.更新音乐文件
图4.3更新音乐文件活动图
在音乐播放器中,更新音乐文件到手机的多媒体数据库中,然后从数据库中读取音乐文件到列表中,如果手机中没有音乐文件则不添加,如果有则添加,添加之后在该列表中选中想要播放的音乐进行播放,可以在播放器中进行播放的控制。
3. 本地音乐
图4.4本地音乐活动图
如图4.4所示,本地音乐是手机中的音乐文件,打开该列表,通过从多媒体数据库中加载音乐文件到列表中,在列表中选中要播放的音乐可以播放音乐,如果不喜欢该音乐,那么可以再该列表中删除该音乐文件,在删除的时候会提示如果删除那么会删除手机的文件,由用户判断是否需要删除该文件。删除之后会更新音乐文件列表。
4. 最近播放
图4.5最近播放活动图
如图4.5所示,最近播放时在每一次播放音乐的时候将该音乐的信息添加到SQLite数据库中的最近播放的表中,在打开最近播放列表的时候,读取表中的数据到界面的列表中。该列表中的音乐可以播放。
5. 我的最爱
图4.6我的最爱活动图
在本地音乐中添加我的最爱音乐文件到数据库中,然后打开我的最爱列表的时候,从数据库中读取音乐信息添加到该列表中,可以在该列表中播放音乐,如果用户不喜欢该音乐,那么可以移除该音乐,移除后要更新列表。
6. 更换背景
图4.7 更换背景活动图
如图4.7所示,更换背景是通过将软件中的背景图的名称添加到背景图数据库中,然后在每一次打开一个界面的时候,通过读取背景图片的名称去匹配软件中的背景图,而后将图片设置为界面的背景。
4.4 本章小结
本章介绍了音乐视频播放器的系统设计目标,系统架构,技术构架,数据库设计和系统功能详细设计等。通过系统设计目标,确定系统开发的方向,为系统开发提供了约束条件,是系统开发所必须遵守的基本原则;技术架构为系统开发实现提供技术支持;数据库设计是系统开发所必须的,是系统能正常交互的关键;系统详细功能设计为系统编码实现提供逻辑架构,是良好程序开发的基础。
第五章 系统实现与测试
5.1 系统构架
一个好的系统设计取决于他的步骤,当然步骤也决定了程序是否能按照设计者的目的按时完成。同样能否在规定的时间内按照设计者的要求,并且高质量的完成程序必要的功能,这也是对于软件设计者的要求。通过对播放器的功能、系统模块、用户需求方面进行全方位的分析制定开发流程,开发流程如图5.1所示。
图5.1开发流程图
5.2 系统实现
-
音乐视频播放器界面
打开应用软件后,即来到了音乐视频播放器页面。该界面包括更新音乐、本地音乐、我的最爱、最近播放以及更新壁纸。如图5.2所示:图5.2音乐视频播放界面图
-
音乐列表
进入音乐播放器列表页面,该列表右边有一个下拉菜单,包括添加我的最爱以及删除音乐。如图5.3所示:图5.3音乐播放列表图
-
视频更新页
进入视频更新界面。在后台服务中扫描手机中的SD卡,并将扫描到的视频文件添加到Android系统媒体库中,将媒体库中的视频读取显示到视频列表中。并且能及时检测到手机中的视频进行更新,如图5.4所示:
图5.4视频更新图
4. 我的最爱收藏列表
用户对喜欢的音乐可以进行收藏,点击音乐,收藏进我的最爱列表。可进入最爱列表里对收藏的音乐进行播放,如果选择取消,则什么都不做,如图5.5所示: