1、基于android系统的音乐播放器的设计与实现2本科学位论文基于Android系统的音乐播放器的设计与实现 摘要:进入21世纪的数字时代,网络发展十分的迅猛,在现今工作压力大的社会下,娱乐随之兴起,各种各样的网络游戏、娱乐软件像雨后春笋一样以不断更新的方式进入我们的生活,丰富了我们的业余时间。这些游戏能在不同的操作平台上进行安装,且其安装、操作简单适合每一位玩家,让所有的玩家都能畅玩一番。 然而在所有的操作系统中,Android系统无疑不是其首选的。 在Android平台上发布的酷狗、酷我、XX影音等等播放器,以其简单快捷的操作,好看的画面,舒适的结构,强大的功能所折服我们。本文通过Andro
2、id技术的研究,实现了自主设计的一款音乐播放器,完成了本地音乐的加载、最近音乐播放的加载、正在播放页面的实现、上一曲、下一曲、暂停、播放、继续播放、进度条、时间显示等等这些功能。本款音乐播放器采用TabHost进行总框架的布局,其他部分则采用相应的布局方式,使这款播放器看上去丰富,形象点。同时这款播放器操作简单、实用、结合了Android课中所学到的很多知识,即对知识的一个总结。本音乐播放器的设计遵循企业软件的工程思想,开始模拟了客户来公司洽谈某项业务,完成需求分析、界面设计、编写代码、进一步社交、产品的维护、用户需求。这一系列的流程来一步步的制作这款播放器。 关键字:Android、播放器、
3、客户、操作、流程Abstract: Digitalera intwenty-first Century,networkdevelopment is veryrapid,in todaysstressful society,along with the rise ofvariouskinds ofentertainment,network game,entertainment softwarelikebamboo shoots after a spring rainasto continuously update theway into ourlives,enrich ourspare time
4、.Thesegames can beinstalled in differentoperatingplatform,andits installation,operation is simple andsuitable for everygame player,let all thegame playercanplaya.However,all of the operating system,the Androidsystemisnotthepreferred.Published in the Androidplatform on thecool dog,cool,and so onBaidu
5、videoplayer,with itssimple and quickoperation,beautiful pictures,comfortablestructure,powerful functionbyus.In this paper,through theresearch of Android technology,realizes anindependent design andmusic player,thelocal musicloading,recentlyplaying music,playingloadingpage realization,a song,the next
6、 song,play,pause,continue to play,a progress bar,time displayand so on thesefunctions.Themusic playerusing TabHostframelayout,the otherpart isthecorresponding arrangement way,makethe playerlookrich,imagepoint.At the same time,the playerhas the advantages of simple operation,practical,combined with a
7、 lot ofknowledgelearnedinAndroidclass,ora summary ofknowledge.The design of themusic playerfollows the businesssoftwareengineering thought,began to simulatethecustomers to the company to discusssome business,complete therequirement analysis,interface design,code,furthersocial,product maintenance,use
8、r demand.This a series of theprocessstep by step,makingthe player.Key Words: Android 、Player、 Customer、 Operation、 Process 第1章 绪论 1.1 Android简介及其开发背景Android一词的本意是指“机器人”,同时也是Goolge与2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。Android是谷歌与2007年公布的开放式源码手机系统,他的开放性就优于其他封闭式的手机系统,因此,任何人都可能根据自
9、己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个系统。本次作品音乐播放器就是基于Android平台的。Android是基于Linux内核的软件平台和操作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆层(software stack,又名为软件堆层)的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以java作为编写程序的一部分。另外,为了推广此技术,Google和其他几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为Google电话或gPhone。大多的传闻认为Google开发的是
10、自己的手机电话产品,而不是一套软件平台。到了2010年1月,Google开始发表自家品牌手机电话的Nexus One。目前最新的SDK版本为Android4.4。 硬件产品的发展趋势 手机-在手机产品领域,Android手机可以说是类型最为丰富的, 同时往往集成了最尖端的技术力。在2014年,更大尺寸、2k分辨率屏幕将成为高端配置,vivo品牌已经推出了首款2k屏幕机型。64位处理器及4GB RAM,也将成为高端手机的标配,此外,摄像头也将继续高像素化。平板电脑-在2013年,Android在平板领域的成绩斐然,甚至抢夺了苹果ipad的市场份额。虽然这与Android低价平板的增多不无关系,在
11、2014年仍将保持占有率的优势。 总结显然,Android在2014年或许不会发生巨大的变化,包括市场份额以及产品形态。从积极的方面来看,新兴市场的发力、新型设备的流行,会让Android拥有更多的用武之地,与三星的关系修复,也有利于谷歌提供更为健康的生态系统。所以,我们还是十分期待在2014年的Goolge I/O大会上,会看到谷歌更多的大动作。 1.2 本课题内容的概述进入互联网的信息时代,手机市场越发迅猛的发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味的追求外观花哨,功能的齐全,
12、对用户的手机造成了很多资源的浪费,比如CPU,内存等占用率过高,会导致一些低端手机卡机、死机等情况的出现。随着用户的要求,播放器的功能越来越齐全,如:听歌、看MV等等,除了能播放常见格式的语言视频文件之外,还要满足RMVB格式的视频文件。此外,还需支持中文、英文、韩文、日文等语言界面。因此,基于Android的手机操作系统上的各种应用软件应运而生,其音乐播放器无疑不是一个最成功的案例。如:酷狗、酷我、QQ音乐等播放器深受广大用户的喜爱,所以,各高校都会把播放器作为一个很好的教案,不仅让我们了解了播放器是如何编写成功的,更重要的是将我们与这个新兴行业紧密的联系在一起了。学以致用,将书本上的知识归
13、纳、总结后写一个成功的小项目,让自己获得更多、更牢固的专业知识,同时也为今后找工作打下不错的基础。对于这次的毕业选题,其难度、完整度、完善度都比以往在学校写过写过的任何一个小项目难得多,但却是对我们一个很好的锻炼机会,使自己的能力进一步升华,同时也给自己在大学里所有的知识做了一个总结,为自己的大学时代画上一个圆满的句号。 1.3 本课题的目的及意义本次作品就是基于Android平台下的音乐播放器,对于此次的项目,我们必须首先了解Android平台下软件开发的相关知识,及软件开发的意义。由于本次的毕业项目属于个人的开发项目,不存在经济实用性的考量,所以有很多的方面完善的不是很全,但是作为毕业项目
14、而言,的确是一个很大的挑战,不仅锻炼了自己的能力,而且让自己所学的知识得到运用,同时也是对自己在大学所学知识的一个总结,并且可以检测自己的实力,总之,本次毕业论文的撰写对我们益处扉多。 第2章 开发工具的简介 2.1什么是Eclipse?1简介 Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。 虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 E
15、clipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等
16、编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。2发行版本 从2006年起,Eclipse基金会每年都会安排同步发布(simultaneous release)。至今,同步发布主要在6月进行,并且会在接下来的9月及2月释放出SR1及SR2版本。3.语言拓展 Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定
17、的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。 Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟。Eclipse是一个开发源码项目,由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用
18、者只需下载各种语言的插件即可。4.插件开发环境 Eclipse的插件机制是轻型软件组件化架构。Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语 言。 已有的分离的插件已经能够支持C/C+(CDT)、Perl、Ruby,Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到 现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。5.主要组成 Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括
19、四个部分组成Eclipse、 Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。6.Eclipse SDK Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特
20、性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。 2.2 JDK的下载与安装1、 JDK的介绍 JDK是Java开发者工具包,也称J2SDK,是SUM公司提供的基础Java语言开发工具,该工具软件包含Java语言的编译工具、运行工具以及执行程序的环境(JRE)。 JDK现在是一个开源、免费的工具。JDK是其他Java开发工具的基础,也就是说,在安装其它开发工具之前,必须首先安装JDK。
21、2、JDK的下载现在最新的JDK版本为JDK1.7,JDK的最新版本的下载地址为: 3、JDK的安装 在下载好的JDK双击进行一步一步的安装即可,之后进行另一项工作,即:环境变量的配置。4、环境配置图解过程4.1 右击“我的电脑”,选择属性4.2 选择“高级系统设置”4.3 选择“高级”选项卡中的“环境变量”4.4 在系统环境里点击“新建”,之后在“新建系统变量”里输入如下内容,在点击“确定”。4.5 Path系统的变量设置,在系统变量里找到“Path”,之后点击“编辑”,进入“编辑系统变量”,编辑“变量值”,完成后点击“确定”。4.6 classpath系统变量值的设置,由于JDK是1.7最
22、高版本的,所以当JDK高于1.6版本时就不需要设置classpath的系统变量值了。5、JDK1.7安装的最后检查 若想确定JDK是否安装成功,可以在cmd运行环境里查看,即JDK 安装成功时的状态为: 2.3 Eclipse的下载与安装1.Eclipse的下载 JDK环境配置成功后,接下来就是要把Java开发工具给安装起来,即Eclipse的下载网址为:http:/www.eclipse.org/downloads/进入后打开如下的网页:根据自己的学习要求下载合适的版本,我这里下载的是第一个中的Windows 32 Bit。然后再点击那个下载按钮开始下载就可以了,下载下来的是一个压缩包。将该
23、压缩包解压到一个自定义的文件夹中,之后打开eclipse文件夹中的eclipse.exe,就能打开eclipse软件。 2.4 Eclipse中Android SDK插件的下载与安装1、Android SDK的介绍 SDK:软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDK指的是Android专属的软件开发工具包。2、Android SDK 的下载 Android SDK 的下载网址为:http:/ 下载后解压文件。3、Android SDK的安装 Android SDK不用安装,下载后,直接解压即可,将
24、下载后的SDK的压缩包解压到适当的位置,SDK就安装成功。 使用Eclipse进行Android应用开发需要给Eclipse安装ADT插件,这样Eclipse就可以和Android SDK建立连接了,可以在Eclipse中启动Android模拟器进行程序调试等ADT插件安装,但必须先下载adt的zip安装包,安装插件后,需要做如下的配置即可: 3.1、在Eclipse中,选择WindowPreference; 3.2、从左侧的菜单中,选择Android项; 3.4、设置SDK Location,点Browse选择SDK的安装根目录; 3.5、点apply后再点ok,即安装完成。4、安装Ecli
25、pse的开发插件4.1、启动Eclipse,选择菜单Help Install New Software出现如下界面:4.2、点击Add按钮,出现如下的界面:输入网址https:/dl-4.3、点击OK 出现如下的界面:4.4、 按照操作,点击Next,知道出现如下的界面:4.5、选择“I accept the terms of the .”在点击Next,进入安装界面。4.6、安装完成后,出现如下的界面: 4.7、点击Yes按钮,重启Eclipse后,再来配置android sdk。 4.7.1、点击菜单Window-preferences,进入一下界面:在Browse选择你之前android
26、 sdk解压后的根目录,如下:4.7.2、升级SDK版本,选择菜单windows-Android sdk and avd manager:4.7.3、选择Update all按钮,进入下面操作界面,再点击左边的Accept后点Install安装:4.7.4、 点击Install后,进入下一个安装界面进行安装。4.7.5、安装完成。 4.7.6、新建AVD,步骤和上面一样,进入Android SDK and AVD Manager 后一步一步的进行设置就OK了。创建完AVD之后,我们就可以在Eclipse里面新建Android的项目了。新建Android项目将在下面第六章进行详细的介绍。 第3章
27、 Android的基本结构 3.1 Android 的基本框架 Android平台的基本框架如下图所示: Android分为四个层,从高层到底层分别是:程序应用层、应用程序框架层、系统运行库层和linux核心层。 蓝色的代表java程序,黄色的代码为运行Java程序而实现的虚拟机,绿色部分为C/C+的程序库组成,通过JNI完成从Java到C的调用。1) 应用程序所有的应用程序都是使用JAVA语言编写的,每一个应用程序由一个或者多个活动组成,活动必须以Activity类为超类,活动类似于操作系统上的进程,但是活动比操作系统的进程要更为的灵活,与进程类似的是,活动在多种状态之间进行切换。2) 应用
28、程序框架应用程序的架构设计简化了组建的重用;任何一个应用程序都可以发布它的功能块并且任何其他的应用程序都可以使用其发布的功能块,帮助程序员快速的开发程序,并且应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统,其中包括入下:A、 丰富而又可扩展的视图,可以用来构建应用程序,包括:lists、grids、text boxes、buttons,甚至可嵌入的web浏览器。B、 内容提供器使得应用程序可以访问另一个应用程序的数据,或者共享他们自己的数据。C、 资源管理器提供非代码资源的访问,如本地字符串、图形、布局文件。D、 通知管理器使得应用程序可以在状态栏中显
29、示自定义的提示信息。E、 活动管理器用来管理应用程序生命周期并提供常用的导航回退功能。3) 系统运行库A) 程序库Android包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。如下为核心库:1、 Bionic系统C库2、 媒体库,基于PacketVideo OpenCORE3、 Surface Manager顾名思义,用于管理Surface4、 Webkit,LibWebCore浏览器,基于Webkit引擎5、 SGL底层的2D图形引擎6、 3D libraries基于OpenGL ES 1.0 APIs实现7、 FreeT
30、ype位图和矢量字体显示8、 SOLite一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎B) Android运行库Android包含一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效的运行多个虚拟系统。Dalvik虚拟机执行的Dalvik可执行文件,该格式文件针对小内存使用做了优化,Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。4) Linux内核Android的核心系统服务依赖于Linux2.6内核,如安
31、全性、内存管理、进程管理、网络协议栈和驱动模型。 3.2 Android系统的四大组件 1) Activity应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些空间也可以监听并处理用户的事件作出响应。Activity之间通过Intent进行通信,在Intent的描述结构中,有两个最重要的部分:动作和动作对应的数据。2) ServiceService没有用户界面,但他会在后台一直运行,例如:service可能在用户处理其它事情的时候播放背景音乐,或者从网络上获取数据,或者执行一些运算,并把运算结构提供给activity展示给用户。每个service都扩展自类service。多媒体音乐播放器就是一个很好地例子,多媒体播放器程序可能含有一个或者多个Activity,用户通过这些ac
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1