【Android源码 栏目提醒】:本文主要为网学会员提供“基于Android平台的音乐播放器开发与设计 毕业论文 - 学士论文”,希望对需要基于Android平台的音乐播放器开发与设计 毕业论文 - 学士论文网友有所帮助,学习一下!
基于
Android 平台的音乐播放器The Development of Mobile Music Player Based on
Android platform system 学生学号: 学生导教师: 职 称: 起止日期: 摘 要 当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉,因此,也逐步的提高了对系统的要求,本文主要是对
Android 系统上音乐播放器应用程序进行讨论。
本论文的音乐播放器采用了
Android 开源系统技术,利用 Java 语言和 Eclipse 编辑工具对播放器进行编写,同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对开发过程中遇到的
问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示等功能于一体,性能良好,在
Android 系统中能独立运行。
该播放器还拥有对手机文件浏览器的访问功能、歌曲播放模式、以及歌词开闭状态的友好设置。
关键词:
Android;开源系统;音乐播放器 - I - 基于
Android 平台的音乐播放器开发与设计 Abstract The pace of life in todays society with more advanced hardware mobile devices formobile devices people more and more is also high the requirements from the previous pursuitto pursue the visual technology therefore also gradually improve the system requirements thepaper mainly is to take on a music player from system design and realization of the applicationis discussed. Take the system is an open source it is based on the operating system use theLinux music player of the
Android open-source system technology using the Java language andediting tools for players to Eclipse. Presents the detailed design process the part of the systemand the main functions of operation interface diagram of height this paper also flow processproblems and solving methods are discussed in detail and the music player episode pause stopand a next volume adjustment lyrics display functions such as performance is good canoperate independently in the
Android system. This player has access to the file browser phonefunctions songs and played pattern open and close condition of friendly
words.Key Words:
Android;open source system;music player - II - 目 录 摘 要 IAbstractII第 1 章 绪论 1 1.1 选题的目的及意义 1 1.2 本课题涉及内容的研究现状 1 1.3 本系统要实现的基本目标和研究内容 2第 2 章 系统的可行性研究 3 2.1 经济上的可行性 3 2.2 技术上的可行性 3 2.3 操作上的可行性 3第 3 章 需求分析 4 3.1 软件目标 4 3.2 功能需求 4 3.3 系统界面需求 4 3.4 系统性能需求 4第 4 章 系统的总体设计 5 4.1 设计思想 5 4.2 系统功能结构图 5 4.3 开发语言简介 6 4.3.1
Android 简介 6 4.3.2
Android Features 特性 7 4.3.3
Android 基本框架(
Android Architecture) 7 4.4.4
Android 系统的四大组件 9 4.4.5 SQLite 简介 10 4.4 搭建
Android 开发环境 11 4.5
Android 音乐播放器的工程 13 4.5.1
Android 项目 13 4.5.2
Android 工程程序结构 14 4.5.3 AndroidManifest.xml 文件 15第 5 章 数据库的设计 18 5.1 数据库表的介绍 18 - III - 基于
Android 平台的音乐播放器开发与设计 5.1.1 用户注册表 18 5.1.2 完成下载的音乐表 19 5.1.3 播放清单表 19 5.2 数据库连接 19第 6 章 系统详细设计 21 6.1 欢迎界面模块详细设计 21 6.2 播放列表模块详细设计 22 6.3 歌曲播放模块详细设计 25 6.4 本地音乐模块详细设计 27 6.5 会员登录模块详细设计 29 6.6
会员注册模块详细设计 31 6.7 音乐下载模块详细
设计 33 6.8 设置皮肤模块详细设计 35第 7 章 系统测试 37 7.1 登录功能测试 37 7.2 图片上传功能测试 38 7.3 文件上传功能测试 39结 论 41参考文献 42 致 谢 错误!未定义书签。
- IV - 第 1 章 绪论1.1 选题的目的及意义
Android 是谷歌于 2007 年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。
这使得越来越多的人关注这个操作系统。
本次作品音乐播放器就是基于
Android 平台的。
随着
计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。
于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如 CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。
针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放 RM
VB 格式的视频文件。
此外,还能支持中文、英文等语言界面。
要研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。
目前已经实现的功能有能播放常见音频文件的功能,如 MP3,WAV 等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。
播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。
1.2 本课题涉及内容的研究现状
Android 一词的本义指“机器人”,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
Android 是基于 Linux 内核的软件平台和操作系统,早期由 Google 开发(在华
注册商标名为“安致”),后由开放手机联盟(Open Handset Alliance)开发。
它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。
低层以 Linux 内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以
Java 作为编写程序的一部分。
另外,为了推广此技术,Google 和其它几十个手机公司建立了开放手机联 - 1 - 基于
Android 平台的音乐播放器开发与设计盟。
Android 在未公开之前常被传闻为 Google 电话或 gPhone。
大多传闻认为 Google 开发的是自己的手机电话产品,而不是一套软件平台。
到了 2010 年 1 月,Google 开始发表自家品牌手机电话的 Nexus One。
目前最新 SDK 版本为
Android 4.0.3。
1.3 本系统要实现的基本目标和研究内容 本文要实现的基本目标和主要研究内容有以下几个方面: (1)音乐的播放包括上一首、下一首、暂停、进度条的更新和控制。
(2)本地音乐的管理自动扫描 SD 卡的音乐在列表显示 30 秒以上的音频文件。
(3)会员特权包括在线音乐列表、下载列表、背景皮肤的更新。
- 2 - 第 2 章 系统的可行性研究 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统,Windows mobilesymbian以及谷歌的
Android 操作系统,其中占有开发
源代码优势的
Android 系统有最大的发展前景。
那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌
Android 系统就能做到。
本文的音乐播放器就是基于谷歌
Android 手机平台的播放器。
2.1
经济上的可行性
Android 是 Google 历经数年和投资数亿美元开发出来的智能手机系统,是 基于Linux 内核的操作系统,是 Google 公司在 2007 年 11 月 5 日公布的手机操 作系统。
随着各大移动终端生产商大力开发和生产基于
Android 的移动智能设备,
Android 迅速得到业界和社会的认可,并成为整个产业的热点,基于
Android 平 台的各类人才逐渐成为各大企业竞相争夺的焦点。
而且
Android 是一个开放的系统,不管是企业还是个人都可以参与来表达自己的创意和想法。
2.2 技术上的可行性 Google 发起了围绕
Android 的组织——开放手机联盟, 其英文全称为 “OpenHandset Alliance”。
它采用了软件堆层(software stack,又名以软件叠层) 的架构,主要分为三部分。
底层 Linux 内核只提供基本功能;其他的应用软件则 由各公司自行开发,部分程序以 Java 编写。
2.3 操作上的可行性 本
系统采用
Android 框架,可以在 eclipse 中安装
Android 开发插件使用
Android 模拟器也可以使用任意
Android 终端。
模拟器和真正的
Android 手机没有太大区别人们对手机操作早已熟悉。
综合以上三方面,该系统具有很高的开发可行性,无论是从技术上经济上还是操作上。
故此,可以设计该系统流程图,建立数据字典。
- 3 - 基于
Android 平台的音乐播放器开发与设计 第 3 章 需求分析 软件需求分析
工作是软件生存期中重要的一步,也是决定性的一步。
软件需求分析是一个不断认识和逐步细化的过程,该过程将软件计划阶段所确定的软件范围逐步细化到可详细定义的程度。
需求分析还是软件开发的基础,假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花几倍甚至更多的时间。
因此对于复杂系统而言,首先要进行需求分析。
开发人员应该对用户的要求及现实环境进行调查和了解。
3.1
软件目标 本系统属于用户
常用的音乐播放器。
可以方便用户平时对音乐文件的操作。
本系统应达到以下目标: (1)软件采用人机交互的方式,界面美观友好,操作灵活、方便、富有个性化。
(2)能够对音乐文件进行有效的管理。
(3)系统应最大限度地实现易维护性和易操作性。
3.2 功能需求 功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了用户的业务需求。
用户需求
文档描述了用户使用产品必须要完成的任务。
针对音乐播放器分别对音乐播放、在线音乐播放及会员特权的换肤等功能进行详细的调研和分析,总结出如下的用户需求信息。
3.3 系统界面需求 播放器界面要求布局合理,颜色舒适,控制按钮友好,要求整体有一个主要的元素标准,统一的主题思想。
3.4 系统性能需求 根据
Android 手机系统要求无响应时间为 5 秒,所以就有如下性能要求: 1 当要求歌曲播放时,程序响应时间最长不能超过 5 秒 2 当要求歌曲暂停时,程序响应时间最长不能超过 5 秒 3 当要求歌曲上/下一首时,程序响应时间最长不能超过 5 秒 - 4 - 第 4 章 系统的总体设计 软件功能设计是使整个软件能基本实现音乐的播放、上一首、下一首、暂停等功能,能让用户通过本软件欣赏音乐。
在线音乐浏览和下载,背景皮肤的切换等功能更好的增强用户体验。
4.1 设计思想 (1)将系统分成几个相对独立的模块。
(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。
作为应用程序有较强的可操作性和扩展性。
(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。
4.2 系统功能结构图 根据上述需求分析,本
Android 版音乐播放器可分为一下几个模块: 播放器基本功能如图 4-1 所示: 图 4-1 播放器基本功能图 - 5 - 基于
Android 平台的音乐播放器开发与设计播放清单列表如图 4-2 所示: 图 4-2 播放器清单
列表图 从图中看出播放列表功能的参与者依然是用户,这表达了客户体验的要求,当用户选中列表中的一首歌时,会有一个列表选项,具备播放、移除功能。
4.3 开发语言简介4.3.1
Android 简介
Android 一词的本义指“机器人”,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
Android 是基于 Linux 内核的软件平台和操作系统,早期由 Google 开发(在华注册商标名为“安致”),后由开放手机联盟(Open Handset Alliance)开发。
它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。
低层以 Linux 内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以 Java 作为编写程序的一部分。
另外,为了推广此技术,Google 和其它几十个手机公司建立了开放手机联盟。
Android 在未公开之前常被传闻为 Google 电话或 gPhone。
大多传闻认为 Google 开发的是自己的手机电话产品,而不是一套软件平台。
到了 2010 年 1 月,Google 开始发表自家品牌手机电话的 Nexus One。
目前最新 SDK 版本为
Android 4.0.3。
- 6 -4.3.2
Android Features 特性
Android 系统有如下的几大特性: 应用程序框架 支持组件的重用与替换 Dalvik 虚拟机 专门为移动设备做了优化 内部集成浏览器 该浏览器基于开源的 WebKit 引擎 优化的图形库 包括 2D 和 3D 图形库,3D 图形库基于 OpenGL ES SQLite 用作结构化的数据存储 多媒体支持 包括常见的音频、视频和静态印象文件格式(如 MPEG4、H.264、MP3、 AAC、 AMR、JPG、PNG、 GIF) GSM 电话(依赖于硬件) 蓝牙 Bluetooth,EDGE,3G and WiFi (依赖于硬件) 照相机,GPS,指南针,和加速度计 (依赖于硬件) 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和 Eclipse 集 成开发环境插件4.3.3
Android 基本框架(
Android Architecture)
Android 平台的基本框架如图 1-1 所示。
图 1-1
Android 基本框架图 1Applications - 7 - 基于
Android 平台的音乐播放器开发与设计 Application
Android 会同一个核心应用程序包一起发布,该应用程序包包括 email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是用 JAVA 编写的。
2Application FrameWork 开发者完全可以访问核心应用程序所使用的 API 框架。
该应用
程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。
该应用程序重用机制使得组建可以被用户替换。
所有的应用程序都由一系列的服务和系统组成,包括: 可扩展的视图(Views)可以用来建应用程序,包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的 web 浏览器 内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。
资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和分层文件(layout files)。
通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。
活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的
导航回退功能。
3Libraries 库
Android 包括一个被
Android 系统中各种不同组件所使用的 C/C 库集。
该库通过
Android 应用程序框架为开发者提供服务。
以下是一些主要的核心库: 系统 C 库- 一个从 BSD 继承来的标准 C 系统函数库( libc ),专门为基于embedded linux 的设备定制。
媒体库- 基于 PacketVideo OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括 MPEG4 H.264 MP3AAC AMR JPG PNG。
Surface Manager - 对显示子系统的管理,并且为多个应用程序提供 2D 和 3D 图层的无缝融合。
LibWebCore - 一个最新的
web 浏览器引擎用来支持
Android 浏览器和一个可嵌入的 web 视图。
SGL - 一个内置的 2D 图形引擎 3D libraries -基于 OpenGL ES 1.0 APIs 实现;该库可以使用硬件 3D 加速(如果可用)或者使用高度优化的 3D 软加速。
FreeType - 位图(bitmap)和向量(vector)字体显示。
SQLite 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
4
Android Runtime
Android 包括了一个核心库,该核心库提供了 JAVA 编程语言核心库的大多数功能。
- 8 - 每一个
Android 应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik 虚拟机实例。
Dalvik 是针对于同时高效地运行多个 VMs 来实现的。
Dalvik 虚拟机执行.dex 的Dalvik 可执行文件,该格式文件针对最小内存使用做了优化。
该虚拟机是基于寄存器的,所有的类都经由 JAVA 汇编器编译,然后通过 SDK 中的 dx 工具转化成.dex 格式由虚拟机执行。
Dalvik 虚拟机依赖于
linux 的一些功能,比如线程机制和底层内存管理机制。
5Linux 内核
Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理,
网络协议栈和驱动模型。
Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。
未来发展老牌智能手机软件平台制造商 Symbian 发言人则表示:Google 的
Android 只不过是另一个 linux,symbian 对其它软件与其形成的竞争并不感到担心。
除了北美之外, 与Symbian 在其它地区智能手机市场都占有大部分市场份额。
iPhone 相似,
Android 采用WebKit 浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比 iPhone 等其他手机更强调
搜索功能,界面更强大,可以说是一种融入全部 Web 应用的单一平台。
4.4.4
Android 系统的四大组件 在
Android 系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像 Activity,ContentProvider 是可见的视图,Service 和BroadcastReceiver 是不可见的,它们只在系统的后台运行。
下面分别介绍四大组件: 1Activity 简介 在
Android 系统中 Activity 提供可视化的用户界面,一个
Android 应用通常由多个Activity 组成。
多个 Activity 组成了 Activity 栈(Stack),当前活动的 Activity 处于栈顶。
Activity 有自己的生命周期,由
Android 系统来控制。
2Service 简介 顾名思义 Service 就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个 Service 类比较简单,只要继承 Service 类,实现其生命周期 中 通的方法就可以了。
一个定义好的 Service 必须在 AndroidManifest.
xml 配置文件 注册,过ltservicegt元素声明才能使用.Service 有自己的生命周期,我们可以调 用 startService启动一个 Service 或者 bindService方法来绑定一个存在的 Service 。
3Broadcast Receiver 简介 - 9 - 基于
Android 平台的音乐播放器开发与设计 Broadcast Receiver 顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。
到目前为止我们可以使用 Intent 来启动一个程序组件,我们还可以通过使用sendBroadcast方法来发起一个系统级别的事件广播来传递消息。
我们可.