基于Android手机平台的音乐播放器毕业论文.docx
- 文档编号:28101255
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:41
- 大小:553.19KB
基于Android手机平台的音乐播放器毕业论文.docx
《基于Android手机平台的音乐播放器毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Android手机平台的音乐播放器毕业论文.docx(41页珍藏版)》请在冰豆网上搜索。
基于Android手机平台的音乐播放器毕业论文
基于Android手机平台的音乐播放器
摘要
当今社会的生活节奏越来越快+Android系统上一的款音乐播放器应用程序的设计与实现进行讨论。
Android是一个开源的系统,它底层是基于Linux的操作系统,本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。
同时给出了详细的系统设计过程、部分界面图与主要功能运行流程图,本文还对高度过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示等功能于一体,性能良好,在Android系统中能独立运行。
该播放器还拥有对手机文件浏览器的访问功能、歌曲播放模式、以与歌词开闭状态的友好设置.MP3的全名是MPEGAudioLayer-3,是一种声音文件的压缩格式,由于本播放器只限于应用层程序的探讨,所以对具体的压缩算法不作深究。
关键词:
Android;开源系统;音乐播放器
第一章引言
1.1项目背景
当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Windowsmobile,symbian,以与谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。
那么能否在手机上拥有自己编写的个性音乐播放器呢?
能的,谷歌Android系统就能做到。
本文的音乐播放器就是基于谷歌Android手机平台的播放器。
Android:
是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。
这使得越来越多的人关注这个操作系统。
本次作品音乐播放器就是基于Android平台的。
随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。
于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。
针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:
还能播放RMVB格式的视频文件。
此外,还能支持中文、英文等语言界面。
要研究了各种市场上流行的手机播放器,了解它们各自的插件与编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以与各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。
目前已经实现的功能有能播放常见音频文件的功能,如MP3,WAV,等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。
播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。
第2章系统的可行性研究
当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统,Windowsmobile,symbian,以与谷歌的Android操作系统,其中占有开发源代码优势的Android系统有最大的发展前景。
那么能否在手机上拥有自己编写的个性音乐播放器呢?
能的,谷歌Android系统就能做到。
本文的音乐播放器就是基于谷歌Android手机平台的播放器。
2.1经济上的可行性
Android 是Google历经数年和投资数亿美元开发出来的智能手机系统,是基于Linux核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。
随着各大移动终端生产商大力开发和生产基于 Android 的移动智能设备, Android迅速得到业界和社会的认可,并成为整个产业的热点,基于 Android 平台的各类人才逐渐成为各大企业竞相争夺的焦点。
而且 Android 是一个开放的系统,不管是企业还是个人都可以参与来表达自己的创意和想法。
2.2技术上的可行性
Google发起了围绕 Android 的组织——开放手机联盟,其英文全称为“OpenHandsetAlliance”。
它采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分。
底层Linux核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。
2.3操作上的可行性
本系统采用Android框架,可以在eclipse中安装Android开发插件,使用Android模拟器也可以使用任意Android终端。
模拟器和真正的Android手机没有太大区别,人们对手机操作早已熟悉。
综合以上三方面,该系统具有很高的开发可行性,无论是从技术上经济上还是操作上。
故此,可以设计该系统流程图,建立数据字典。
第3章需求分析
软件需求分析工作是软件生存期中重要的一步,也是决定性的一步。
软件需求分析是一个不断认识和逐步细化的过程,该过程将软件计划阶段所确定的软件围逐步细化到可详细定义的程度。
需求分析还是软件开发的基础,假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花几倍甚至更多的时间。
因此对于复杂系统而言,首先要进行需求分析。
开发人员应该对用户的要求与现实环境进行调查和了解。
3.1软件目标
本系统属于用户常用的音乐播放器。
可以方便用户平时对音乐文件的操作。
本系统应达到以下目标:
(1)软件采用人机交互的方式,界面美观友好,操作灵活、方便、富有个性化。
(2)能够对音乐文件进行有效的管理。
(3)系统应最大限度地实现易维护性和易操作性。
3.2功能需求
功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了用户的业务需求。
用户需求文档描述了用户使用产品必须要完成的任务。
针对音乐播放器分别对音乐播放、在线音乐播放与会员特权的换肤等功能进行详细的调研和分析,总结出如下的用户需求信息。
3.2.1功能需求(时序图)分析和结构图
从时序图中可以看出播放器息发送和调用过程
3.2.2系统功能表和结构图
功能类别
子功能
子功能
播放列表
播放列表菜单
退出播放
从扩展卡寻找歌曲
歌曲菜单
播放->进入播放界面
删除->数据库同步更新
重命名->数据库同步更新
向上、下移动->数据库同步更新
播放界面
播放
播放歌曲->线程启动->时间更新
暂停
暂停歌曲->线程暂停->时间暂停
停止
停止歌曲->线程停止->时间停止
上一首
播放列表索引变化->寻找上一ID歌曲
下一首
播放列表索引变化->寻找下一ID歌曲
播放界面菜单
返回到播放列表
返回到主菜单
从扩展卡寻找歌曲
退出播放器
隐藏播放界面
主菜单
退出程序
程序退出
进入播放列表
显示播放列表
.
图3.2.3结构图
3.3系统性能需求
根据Android手机系统要求无响应时间为5秒,所以就有如下性能要求:
1)当要求歌曲播放时,程序响应时间最长不能超过5秒
2)当要求歌曲暂停时,程序响应时间最长不能超过5秒
3)当要求歌曲上/下一首时,程序响应时间最长不能超过5秒
3.4系统界面需求
播放器界面要求布局合理,颜色舒适,控制按钮友好,为了减少开发工程量,图片素材多数为公司项目素材(图2.6)
图2.6播放器界面
说明:
左下角为清单按钮右下角为程序退出按钮
蓝色条为音轨
3.5运行环境需求
操作系统:
Android手机基于LINUX操作系统
支持环境:
Android1.5-2.0.1版本
开发环境:
Eclipse3.5ADT0.95
第三章Android项目介绍
4.1什么是Android?
4.1.1Android简介
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
目前最好的是Android2.0的摩托罗拉Droid
Android是基于Linux核的软件平台和操作系统,早期由Google开发(在华注册商标名为“安致”),后由开放手机联盟(OpenHandsetAlliance)开发。
它采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分。
低层以Linux核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。
另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。
Android在未公开之前常被传闻为Google或gPhone。
大多传闻认为Google开发的是自己的手机产品,而不是一套软件平台。
到了2010年1月,Google开始发表自家品牌手机的NexusOne。
目前最新SDK版本为Android2.1
4.1.2AndroidFeatures特性
Android系统有如下的几大特性:
·应用程序框架支持组件的重用与替换
·Dalvik虚拟机专门为移动设备做了优化
·部集成浏览器该浏览器基于开源的WebKit引擎
·优化的图形库包括2D和3D图形库,3D图形库基于OpenGLES
·SQLite用作结构化的数据存储
·多媒体支持包括常见的音频、视频和静态印象文件格式(如MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)
·GSM(依赖于硬件)
·蓝牙Bluetooth,EDGE,3G,andWiFi(依赖于硬件)
·照相机,GPS,指南针,和加速度计(依赖于硬件)
·丰富的开发环境包括设备模拟器,调试工具,存与性能分析图表,和Eclipse集成开发环境插件
4.1.3Android基本框架(AndroidArchitecture)
图4.1AndroidArchitecture
(1)Applications
ApplicationAndroid会同一个核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是用JAVA编写的。
(2)ApplicationFrameWork
开发者完全可以访问核心应用程序所使用的API框架。
该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。
该应用程序重用机制使得组建可以被用户替换。
所有的应用程序都由一系列的服务和系统组成,包括:
·可扩展的视图(Views)可以用来建应用程序,包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至包括一个可嵌入的web浏览器
·容管理器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。
·资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和分层文件(layoutfiles)。
·通知管理器(NotificationManager)使得应用程序可以在状态栏中显示客户通知信息。
·活动类管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
(3)Libraries库
Android包括一个被Android系统中各种不同组件所使用的C/C++库集。
该库通过Android应用程序框架为开发者提供服务。
以下是一些主要的核心库:
系统C库-一个从BSD继承来的标准C系统函数库(libc),专门为基于embeddedlinux的设备定制。
媒体库-基于PacketVideoOpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
SurfaceManager-对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。
LibWebCore-一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的web视图。
SGL-一个置的2D图形引擎3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。
FreeType-位图(bitmap)和向量(vector)字体显示。
SQLite一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
(4)AndroidRuntime
Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
Dalvik是针对于同时高效地运行多个VMs来实现的。
Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小存使用做了优化。
该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。
Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层存管理机制。
(5)Linux核
Android的核心系统服务依赖于Linux2.6核,如安全性,存管理,进程管理,网络协议栈和驱动模型。
Linux核也同时作为硬件和软件堆栈之间的硬件抽象层。
未来发展 老牌智能手机软件平台制造商Symbian发言人则表示:
Google的android只不过是另一个linux,symbian对其它软件与其形成的竞争并不感到担心。
除了北美之外,Symbian在其它地区智能手机市场都占有大部分市场份额。
与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。
但其最震撼人心之处在于Android手机系统的开放性和服务免费。
Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与WindowsMobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。
Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。
谷歌移动平台主管安迪·鲁宾(AndyRubin)表示,与软件开发合作伙伴的密切接触正在进行中。
从去年11月开始,谷歌开始向服务提供商、芯片厂商和手机销售商提供Android平台,并组建“开放手机联盟”,其成员超过30家。
市场前景 Google手机于08年10月22日正式上市,与运营商捆绑的合约价为179美元(约合人民币1200元),现有的T-Mobile用户可以通过网络订购。
在10月22日发布当天,将有22个国家和地区可以买到谷歌手机。
在11月,将增至27个国家和地区。
谷歌手机将只能在T-Mobile网络使用,将会有SIM卡锁定限制。
T-MobileUSA提供了两种流量和短信近曝光的motosholes(也有人称之为mototao)将搭载最新的android2.0操作系统包月计划。
第一档为25美元,包括不限制的网络流量,以与一定数量的短信;第二档为35美元,包括不限制的网络流量和不限数量的短信。
G1支持各种谷歌的服务,包括Gmail、GoogleMaps、YouTube、Google日历和GoogleTalk,置ChromeLite浏览器。
使用这款手机也需要Gmail账号。
“我爱死我的G1了!
”谷歌联合创始人拉里·佩奇(LarryPage)憧憬:
“对于我来说,谷歌手机最激动人心的一点就是它的未来。
它的功能很强,正如几年前的电脑一样。
你可以上网,安装软件。
” T-MobileUSA为德国电信旗下移动子公司,运营GSM/HSPA网络,拥有用户近3000万。
此次发布的谷歌手机采用高通MSM7201A处理器,支持7.2Mbps下载速率,美国运营商3G网络设定的套餐速率一般可达1Mbps以上。
MSM7201A为单芯片、双核,整合硬件加速多媒体功能、支持3D图形,300万像素的摄像功能可以扫描条形码,并且有GPS功能。
在美国四大移动运营商中,T-MobileUSA处于相对弱势的地位,不过T-Mobile在欧洲有更为强势的是CDMAEV-DO网络,而T-MobileUSA和苹果iPhone的独家运营商AT&T为GSM/HSPA网络,后者在2005年12月就推出了全球第一个HSDPA商用服务。
T-MobileUSA今年5月方才在纽约推出了3G服务,目前已经在奥斯汀、巴尔的摩、波士顿、达拉斯、休斯敦、拉斯维加斯、迈阿密、明尼阿波利斯、凤凰城、波特兰、圣安东尼奥和圣地亚哥等12个城市增加了3G覆盖,公司计划年底前将3G覆盖的城市从目前的13个增加到27个,能够为其超过2/3的用户提供3G服务。
4.1.4Android系统的四大组件
在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。
下面分别介绍四大组件:
(1)Activity简介
在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。
多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。
Activity有自己的生命周期,由Android系统来控制。
(2)Service简介
顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了。
一个定义好的Service必须在AndroidManifest.xml配置文件注册,通过
(3)BroadcastReceiver简介
BroadcastReceiver顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。
到目前为止我们可以使用Intent来启动一个程序组件,我们还可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。
我们可以在你的应用程序中实现BroadcastReceiver来监听和响应这些广播的Intent
(4)ContentProvider简介
ContentProvider用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。
它是跨应用程序共享数据的唯一方法。
Android为常用的数据类型(如:
音视频、图片和联系方式等)提供了大量的ContentProvider。
它们被定义在android.provider包下面。
通过这样定义好的ContentProvider我们可以方便的进行数据操作。
当然我们必须拥有适当的权限。
我们也可以自己来定ContentProvider共享我们的数据,方便用户的访问
4.3Android常用工具的使用
4.3.1命令行的使用
创建AndroidVirtualDevices(AVD)
使用androidlisttarget命令列出当前可用的SDK版本
androidcreateavd-n
模拟器(Emulator)的使用
启动和停止模拟器
emulator-avd
AndroidDebugBridge(ADB)的使用
查询当前模拟器实例数量
adbdevices
本地机器和模拟器之间相互拷贝文件
D:
\>adbpushd:
\test.txt/sdcard/
D:
\>adbpull/sdcard/test.txtd:
/
安装apk应用程序
adbpushd:
\test.apk/sdcard/
adbinstalltest.apk
使用shell命令
在DOS命令行输入adbshell便进入shell命令行了
可以使用exit退出shell
4.3.2DalvikDebugMonitorService(DDMS)的使用
在DOS命令窗口,输入ddms会弹出如下图所示界面,Android编辑工具的可视化界面(图4.6)
图4.6
4.4Android音乐播放器的工程
4.4.1Android项目
Android的四大基本组件:
Activity(活动),Service(服务),BroadcastReceiver(广播),ContentProvider(容提供者),各组件之间要进行切换需要一个意图或企图Intent类,通过启动StartIntent()方法来使各组件进行跳转
Android的五大布局方式:
LinearLayout(线性布局)FrameLayout(帧布局)TableLayout(表格布局)AbsoluteLayout(绝对布局)RelativeLayout(相对布局)
五种布局方式可以相互嵌套,Android各种漂亮的界面都是通过嵌套布局而实现的。
Android的线程,以与线程之间通信的中介:
Handler类
Android数据库:
在第三章已经介绍过了。
这里不再介绍
Android配置文件:
AndroidManifest.Xml与res资源文件中各种属性布局方式引用的资源等
Android系统将插件ADT集成到了Eclipse工具上,因此,一个Android程序启动后,系统会启动一个模拟器(Emulator)(图4.7),该模拟器是一款手机板的样式,拥有手机硬件的基本操作。
我们也可以将右边的键盘通过代码属性设置将其隐藏,界面的大小可自由设定,目前最大支持800X600的分辨率。
图4.7android模拟器
4.4.2Android工程程序结构
Android工程基本结构目录包括:
src(源代码)、gen(Android系统自动生成的常量)、Res(资源文件):
主要存放程序界面的布局配置(.xml)文件和图片资源。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 手机 平台 音乐 播放 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)