1、齐 齐 哈 尔 大 学毕业设计(论文)题 目 学 院 专业班级 学生姓名 指导教师 成 绩 2013 年 6 月 15 日齐齐哈尔大学毕业设计(论文)I摘 要当今社会发展越来越快,人们对手机软件设备的用户体验要求越来越高,本文主要是对 Android 系统上对音乐播放器应用程序的设计与实现进行讨论,通过这一过程的设计和论证对手机平台播放器以后的研发有很大意义。本文的音乐播放器使用开源的 Android 平台,使用 Java 语言和开发工具 Eclipse 对音乐播放器代码进行编写。通过设计能够实现音乐的播放、暂停、上一曲、下一曲、音乐列表、声音控制、退出菜单、播放模式等功能,通过对基于 And
2、roid 平台下的播放器的设计,了解音乐播放器的设计原理和实现的相关技术,掌握 Android 编程思想以及基本的应用组件,对以后从事Android 开发有很大的帮助。研究表明,基于 Android 平台的应用软件开发快捷简单,用户体验良好,必将成为未来移动互联网时代的风向标。关键词:安卓;音乐播放器;应用程序 齐齐哈尔大学毕业设计(论文)IIAbstractTodays society is developing faster and faster, people software for mobile devices are increasingly demanding the user
3、experience, this article is mainly on music player applications on the Android system design and implementation are discussed, through the design and demonstration of this process on the mobile platform player development has great significance in the future. This music player uses the open source A
4、ndroid platform using the Java language and the Eclipse tools for writing music player code. The design can realize the music play, pause, a song, the next song, music, sound control, exit the menu, playback and other functions, on the basis of design under the platform of Android player based on th
5、e design principle, understand the music player and related technology, master Android programming ideas and the application of the basic components, after the Android engaged in the development of great help in the future. Research shows that based on the Android platform application development qu
6、ick and easy, the user experience is good, will become the future mobile Internet era of the citizenry.Key words: Android;music player;application齐齐哈尔大学毕业设计(论文)III目 录摘 要 .IAbstract .II第 1 章 绪论 .11.1 选题依据、研究的目的及意义 .11.2 国内外的研究现状 .1第 2 章 Android 开发基础 .32.1 什么是 Android .32.1.1 Android 简介 .32.1.2 Androi
7、d 的基本框架 .32.2 Android 开发环境的搭建 .52.3 Android 系统的四大组件 .72.4 Android 音乐播放器工程 .82.4.1 Android 项目 .82.4.2 Android 工程文件结构 .92.4.3 AndroidManifest.xml 文件 .10第 3 章 系统需求分析 .133.1 系统功能需求 .133.1.1 播放器基本控制需求 .133.1.2 播放友好性需求 .153.2 系统结构图和流程图 .163.3 系统其他需求 .183.3.1 音乐模块需求 .183.3.2 艺术家模块需求 .183.3.3 专辑模块需求 .183.3.
8、4 最近播放模块需求 .193.3.5 系统性能需求 .193.3.6 运行环境需求 .19第 4 章 详细设计及功能实现 .204.1 播放器界面的设计 .20齐齐哈尔大学毕业设计(论文)IV4.2 播放动画的设计 .214.3 各模块详细设计 .224.3.1 声音控制模块 .224.3.2 播放暂停模块 .234.3.3 上一曲下一曲模块 .244.3.4 初曲终曲模块 .254.3.5 音乐列表模块 .264.3.6 艺术家模块 .274.3.7 专辑模块 .284.3.8 最近播放模块 .294.3.9 系统菜单模块 .30第 5 章 软件测试 .325.1 软件的测试 .325.1
9、.1 软件的测试环境 .325.1.2 测试阶段 .325.2 测试结果 .34结论 .35参考文献 .36致谢 .38齐齐哈尔大学毕业设计(论文)1第 1 章 绪论1.1 选题依据、研究的目的及意义Android 播放器是近几年来智能手机当中比较流行的音乐播放软件。利用以前学习过的各种编程知识来设计和开发一款基于 Android 平台的音乐播放器,还能深入学习Android 的程序框架结构,从而进一步学习 Android 的基础知识和理论,了解手机软件的开发流程,掌握 Android 应用程序的开发技巧,充实自己的世界观价值观。Android平台是一个完全开放的手机平台,智能手机中的各种应用
10、软件也越来越完备。智能手机操作系统的研究和它的发展已成为当前最活跃的领域 1。在 Android 平台设计和开发一款音乐播放器可以摆脱不能随意安装在非智能手机的因素,并且具有很广阔的应用前景。当前音乐播放器由于手机内存和 cpu 处理能力的限制,在音乐播放、收集、推荐、操作和管理存在技术瓶颈,下一代音乐播放器应该使用云空间,记录用户的使用习惯,将音乐的播放,搜索等功能全部交给云端来处理,这样网络为用户提供互联网资源更庞大,还可以定制服务,管理也更加简单。而近年来出现用户体验良好的Android 智能手机系统恰好能作为下一代播放器平台。只有音乐播放器客户端软件的不断创新发展,未来人们欣赏音乐的用
11、户体验才会更好。所以开发一款好的音乐播放器在现在和未来都具很大的实用价值。1.2 国内外的研究现状随着科技的快速发展,数码电子设备基本上都含有 MP3 播放的功能。媒体播放器的发展有两个趋势。首先,支持多样化格式,如常见的音频格式 WMA 格式、MP3 格式、MIDI 格式等。这些格式如何能够完美的播放,是现如今研究的一个主流方向。其次一个必要的趋势就是播放器的可扩展性,现如今音乐播放器的功能越来越多,用户体验越来越好,如何能让播放器的功能比现有的更加完备,也是占领用户群的一个因素。由于 Android 基于 Linux 内核且具有开源、免费的特性,为播放性能的提升提供了更加便利的条件 2。A
12、ndroid 平台的开放性,可以不仅推动了技术创新(包括平台本身),也有利于降低开发成本,让制造商定制的特点产品很容易。因此,它有一个大的市场潜力 3。目前 Android 开发在国内外主要都是开发应用,分成 3 类:为大客户开发 App、开发通用 App(放到安卓市场或者其他 App 市场下载销售)以及游戏开发(同样放到安卓齐齐哈尔大学毕业设计(论文)2市场或者其他 App 市场销售,目前从事游戏开发的人员也是占比例最大的 )。第一类开发者一般是比较专业的大公司,这些公司主要为大客户设计定制 App 以及提供其所需要的总体解决方案。他们除了会根据需求对系统进行定制外,更多的工作在于为这些系统
13、编写定制的应用。第二类开发者,一般是创业型公司或者是个人开发者,他们的盈利方式一般是 2 种:为国外客户做外包软件开发或者通过 Google 的移动广告(AdMob),用户点击广告分成。而在理论上的通过付费下载的方式来盈利的,现在国内少有成功者。第三类开发者目前和第二类开发者类似。齐齐哈尔大学毕业设计(论文)3第 2 章 Android 开发基础2.1 什么是 Android2.1.1 Android 简介Android 一词的本义指“机器人” ,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称 4。该平台由中间件、操作系统、应用软
14、件和用户界面组成,是首个为移动终端打造的真正开放和完整的软件平台和操作系统 5。目前最新 Android 系统版本为 Android 4.1,有代表性的手机是三星的 galaxy note。Android 是基于 Linux 内核的软件平台和操作系统,早期由谷歌公司研发(在华注册商标名为“安致” ) ,后由开放手机联盟(Open Handset Alliance)开发。Android 采用了软件堆层的架构,由三个部分组成。底层以 Linux 为操作系统内核,提供进程管理、存储管理等基本功能 6。其他各公司自行开发市场需求的应用软件,部分程序以java 编写。为了使这项技术得到推广,2007 年
15、 11 月,Google 正式发布 Android 操作系统并联合 34 家厂商成立了“开放手机联盟” 7。Android 在未公布之前常被传闻为谷歌电话。业内大多数认为 Google 开发的是自有手机品牌产品,而不是一套开源的软件平台。到了 2010 年 1 月,Google 才发表了自有手机品牌电话 Nexus One。2011 年 10月,Android 市场占有率超过 48%,成为全球最受欢迎、用户交互体验较好、占有率最高的智能手机平台。Android 手机软件平台为 AndroidMarket,为用户提供下载和安装支持 Android 的第三方软件 8。截止到 2010 年 4 月
16、15 日,AndroidMarket 已经有 3.8万多个应用程序 9。现在这个移动互联网时代,Android 系统在智能手机和平板电脑市场均处于霸主地位。采用 Android 系统主要厂商包括 HTC、SAMSUNG、LG、魅族、华为、中兴、联想、小米等。目前最新 SDK 版本为 Android 4.2.2。2.1.2 Android 的基本框架Android 的基本框架由五个部分组成,应用层、应用框架层、类库、Android 运行时环境和 Linux 内核。我们程序开发人员只可以访问应用层和应用框架层,使用开发所需 Library 库。下图就是 Android 基本框架图(图 2-1):齐
17、齐哈尔大学毕业设计(论文)4图 2-1 Android 基本框架(1) ApplicationsApplication Android 会与一个核心应用的程序包一起发布,此应用程序包会包括SMS 短消息程序,email 客户端,地图,浏览器,联系人管理,日历程序等 10。使用JAVA 语言编写的核心应用程序 11。(2) Application FrameWork 允许开发人员完全访问核心应用程序所使用的 API 框架 12。此应用程序架构用来简化组件的重用;在遵循系统安全性的要求下任何应用程序都可以发布和使用的它的功能块。此应用程序的重用机制使得组建可以被用户替换。所有的应用程序都由一系列的
18、服务和系统组成,包括:可扩展的视图(Views ) 、内容管理器(Content Providers ) 、资源管理器( Resource Manager) 、通知管理器( Notification Manager) 、活动类管理器(Activity Manager) 。(3) Libraries 库Android 包含了一套 C/C+ 函数库 13。该库通过 Android 的 Application FrameWork 为开发人员提供所需的底层服务。以下是一些核心 Libraries 库:系统 C 库-就是系统 C 函数库(libc) ,为基于 embedded linux 的设备专门定制
19、,也是从 BSD 继承而来的。媒体库- 基于 PacketVideoOpenCore,这个库支持录和放,可以录制大多数比较流行的音频与视频格式,还有静态映像文件包括 MP3, MPEG4, AAC, H.264, AMR, JPG, PNG。 Surface Manager 管理所显示子系统,并且为多个应用程序提供 2D 图层齐齐哈尔大学毕业设计(论文)5和 3D 图层的无缝融合。LibWebCore - 一个最新用来支持 Android 浏览器和一个可嵌入 web 视图的 web 浏览器引擎。 SGL - 一个内置的支持 2D 图形的引擎。3D libraries - 该库可以使用高度优化的
20、 3D 软加速或者使用硬件 3D 加速。FreeType 位图和矢量字体显示 14。SQLite 功能强劲的安卓用轻量级关系型数据库,所有应用程序均可使用。(4) Android Runtime Android 包括了一个核心的 Library,该库提供了编程中 Java 所封装的大多数类和方法。每一个 Android 应用程序都在它自己独立的线程中运行,都拥有一个相对独立的 Dalvik 虚拟机实例 15。 Dalvik 是同时针对于多个高效运行的 VMs 来实现的。Dalvik虚拟机执行.dex 的可执行文件,这一格式文件对最小内存的使用做出了较好的优化。该 Dalvik 虚拟机是基于寄存
21、器的,所有的类都需要经过 JAVA 编译,然后通过Android SDK 中的 dx 工具转化成.dex 格式再由虚拟机执行。(5) Linux 内核Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,网络协议栈,内存管理,驱动模型和进程管理 16。 Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。同所有 Linux 内核一样,Android 内核是介于硬件层和软件组之间的一个抽象层次17。2.2 Android 开发环境的搭建在软件开发中,大部分的软件都需要配置开发环境才能够使用,Android 开发也不例外。下面介绍 Android 的开发环境配置:搭建开发
22、环境需要的软件:1.操作系统:Windows XP 或 Linux2.软件包:Android SDK(Software Development kit Java Development kit) 、ADT(Android Develoopment Tool) 183.IDE 环境: IDE Eclipse +ADT Eclipse4.JDK:Java Runtime Environment、Java Development kit 19安装步骤如下:第一步:安装 Java 虚拟机 sun-java6-jdk 版本,正常安装即可,完成后需要配置环境变量。第二步:安装 Eclipse 工具 官网 http:/www.eclipse.org/downloads/选择版本(图 2-2):进行安装