【Android论文栏目提醒】:以下是网学会员为您推荐的Android论文-Android平台的音乐视频播放器论文 - 毕业设计,希望本篇文章对您学习有所帮助。
毕 业 论 文(设计)
论文设计题目 基于
Android 平台的音乐视频播放器 摘 要
Android 是一种以 Linux 为基础的开放源码操作系统,它包括操作系统、用户界面和应用程序、移动电话所需的全部软件,而且不存在任何以往阻碍移动产业的专有权障碍,
Android 主要使用于便携设备,网络中各种接口为广大用户、开发者提供了更优的开发、使用环境。
本
论文的音乐视频播放器采用了
Android 开源系统技术,利用 Java 语言和 Eclipse编辑工具编写。
同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,该音乐播放器部分集播放、暂停、上一首、下一首、歌词显示、歌手照片等功能于一体,视频播放器方面集播放、暂停、快进、快退于一体,性能良好,在
Android 系统中能独立运行。
该播放器还拥有对手机中多媒体文件的自动扫描功能、歌曲播放模式设置。
本播放器只限于应用层程序的探讨,主要考虑运行效率及用户体验,不包含对底层多媒体文件解析的研究。
关键词:
Android;开源系统;linux;音乐播放;视频播放Abstract 目 录ABSTRACT.................................................................. III第一章 绪论................................................................. 1 1.1 课题的来源 ............................................................ 1 1.2 课题的研究目的及意义 .................................................. 1 1.3 课题主要研究的问题 .................................................... 2 1.4 相关技术介绍与应用 .................................................... 2 1.41 MVC 设计思想运用于
Android 开发.............................. 2 1.42
Android 简介................................................ 2 1.43
Android 基本框架(
Android Architecture).................... 3 1.44
Android 四大组件............................................ 5第二章 需求分析............................................................. 7 2.1 可行性分析 ............................................................ 7 2.1.1 经济可行性 ................................................. 7 2.1.2 技术可行性 ................................................. 7 2.1.3 操作可行性 ................................................. 7 2.2 软件功能分析 .......................................................... 7 2.3 目标系统逻辑模型 ...................................................... 8 2.3.1 系统运行环境 ............................................... 8 2.3.2 播放器的基本控制需求 ....................................... 8 2.3.3 播放清单列表管理需求 ...................................... 10 2.3.4 播放友好性需求 ............................................ 12 2.4 系统性能需求 ......................................................... 12 2.5 运行环境需求 ......................................................... 13第三章 概要设计............................................................ 14 3.1 设计策略 ............................................................. 14 3.2 系统结构设计 ......................................................... 14 3.2.1 软件总体结构 .............................................. 14 3.2.2 系统模块划分 .............................................. 15 3.2.3 程序流程图 ................................................ 15 3.3 数据库及字段属性设计(以音乐播放器为例) ............................. 16 3.3.1 数据库结构 ................................................ 16 3.3.2 数据库连接................................................. 18 3.3.4 数据库更新................................................. 18第四章 系统详细设计与实现.................................................. 19 4.1 前台功能模块分析 ..................................................... 19 4.1.1 音乐相关界面
设计........................................... 19 4.1.2 视频播放相关界面设计....................................... 22 4.2 后台数据库交互功能模块分析 ........................................... 24 4.2.1 数据库连接................................................. 24 4.2.2 数据库操作................................................. 24 4.3 多媒体文件播放模块分析 ............................................... 26 4.3.1 音频文件播放:............................................. 26 4.3.2 视频文件播放:............................................. 27 4.4 系统时序图 ........................................................... 28 4.5 系统特点 ............................................................. 29第五章 测试过程............................................................ 30 5.1 术语和缩写词 ......................................................... 30 5.2 测试环境 ............................................................. 30 5.3 测试结果 ............................................................. 31 5.4 播放器功能测试 ....................................................... 31结 论................................................................... 34参考文献................................................................... 35致 谢................................................................... 36附 录.................................................................... 37 第一章 绪论1.1 课题的来源
Android 是一种以 Linux 为基础的开放源码操作系统,它包括操作系统、用户界面和应用程序、移动电话所需的全部软件,而且不存在任何以往阻碍移动产业的专有权障碍,Google 通过和运营商、设备制造商、开发商和其他有关各方组成申城次的合作伙伴关系,Google 与手机联盟一起开发了
Android,其中包括中国移动、中国联通、HTC,摩托罗拉、高通、T-Mobile、索尼爱立信等三十多家企业。
希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。
作为谷歌企业战略的重要组成部分,
Android 将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。
全球为数众多的移动电话用户正使用基于
Android 的各种的移动设备,谷歌的目标是让移动通讯不依赖于设备甚至平台。
出于这个目的,
Android将补充。
现今社会生活紧张,而听音乐、看电影是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式、基本视频格式的播放器,实现的主要功能是播放 Mp3,Wav 多种格式的音乐文件,并且能够控制播放 3gp 格式电影,两种播放模式分别实现暂停,停止,上一曲,下一曲,播放
列表和歌曲循环模式,界面简明,操作简单。
1.2 课题的研究目的及意义 通过研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各的播放特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。
目前已经实现的功能有能播放常见音频文件的功能,如 MP3、WAV、3GP 等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退等。
音乐播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。
本项目是一款基于
Android 手机平台的音乐视频播放器,使
Android 手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。
使人们的生活更加多样化。
也使设计者更加熟练
Android 的技术和其它在市场上的特点1.3 课题主要研究的问题 目前在
Android 手机、平板电脑中,所使用的多媒体播放工具大多是音乐视频相分离,对于手机用户来说不得不安装两种应用程序,浪费手持设备的资源并影响。
因此有必要开发为
Android 用户提供支持多种格式并支持音频视频播放的软件,因此有以下几个方面需要深入研究: 1、从理论的角度判断开发基于
Android平台的音乐视频播放器是否可行 2、从实践上,如何提高界面操作的正确性和友好性,如何分析程序逻辑的正确性? 3、当sd卡中包含大量视频、音频文件时,如何提高检索效率? 4、用户数据与
Android数据库信息的交互如何解决 5、如何提高播放器在系统中的资源利用率? 6、如何减少甚至删除软件自身数据库而是用系统数据库提高效率?1.4 相关技术介绍与应用 本次
毕业设计中运用了目前主流的
Android 设计技术,使用传统 MVC 开发模式。
1.41 MVC 设计思想运用于
Android 开发 。
该设计模式是“Model-View-Controller”的缩写,中文翻译为“模型-视图-控制器”它由这三个部分组成 Event、Controller、Model 或 View。
Event事件导致 Controller 改变 Model 或 View,或者同时改变两者。
只要 Controller 改变了 Models 的数据或者属性,所有依赖的 View 都会自动更新。
类似的,只要 Controller 改变了 View,View 会从潜在的 Model 中获取数据来刷新自己。
而在
Android 软件开发中,MVC 设计思想依然可以使用并且在很大程度上提高代码编写效率以及执行效率,Xml 前台页面以及资源文件即为 View,Activity 即为 Controller,工具类即为 Model。
1.42
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。
1.43
Android 基本框架(
Android Architecture) 图 2.1
Android Architecture (1) Applications Application
Android 会同一个核心应用程序包一起发布,该应用程序包包括 email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是用 JAVA 编写的。
(2) Application FrameWork 开发者完全可以访问核心应用程序所使用的 API 框架。
该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块 。
(不过得遵循框架的安全性限制) 该应用程序重用机制使得组建可以被用户替换。
所有的应用
程序都由一系列的服务和
系统组成,包括: ,网格(grids) 可扩展的视图(Views )可以用来建应用程序,包括列表(lists) ,文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的 web 浏览器 内容管理器(Content Providers )使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。
资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和分层文件(layout files )。
通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。
活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的
导航回退功能。
(3) Libraries 库
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 编程语言核心库的大多数功能。
每一个
Android 应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik 虚拟机实例。
Dalvik 是针对于同时高效地运行多个 VMs 来实现的。
Dalvik 虚拟机执行.dex的 Dalvik 可执行文件,该格式文件针对最小内存使用做了优化。
该虚拟机是基于寄存器的,所有的类都经由 JAVA 汇编器编译,然后通过 SDK 中的 dx 工具转化成.dex 格式由虚拟机执行。
Dalvik 虚拟机依赖于
linux 的一些功能,比如线程机制和底层内存管理机制。
(5) Linux 内核
Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理,
网络协议栈和驱动模型。
Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。
未来发展 老牌智能手机软件平台制造商 Symbian 发言人则表示:Google 的
android 只不过是另一个 linux,symbian 对其它软件与其形成的竞争并不感到担心。
除了北美之外,Symbian 在其它地区智能手机市场都占有大部分市场份额。
与 iPhone 相似,
Android采用 WebKit 浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比 iPhone 等其他手机更强调
搜索功能,界面更强大,可以说是一种融入全部 Web 应用的单一平台。
但其最震撼人心之处在于
Android 手机系统的开放性和服务免费。
Android 是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了 iPhone等只能添加为数不多的固定软件的枷锁;同时与 Windows Mobile、Symbian 等厂商不同,
Android 操作系统
免费向开发人员提供,这样可节省近三成成本。
Android 项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。
谷歌移动平台主管安迪鲁宾Andy Rubin表示,与软件开发合作伙伴的密切接触正在进行中。
从去年 11 月开始,谷歌开始向服务提供商、芯片厂商和手机销售商提供
Android 平台,并组建“开放手机联盟”,其成员超过 30 家。
市场前景 Google 手机于 08 年 10 月 22 日正式上市,与运营商捆绑的合约价为 179 美元约合人民币 1200 元,现有的 T-Mobile 用户可以通过网络订购。
在 10 月 22 日发布当天,将有 22 个国家和地区可以买到谷歌手机。
在 11 月,将增至 27 个国家和地区。
1.44
Android 四大组件
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 配置文件
注册,通过ltservicegt元素声明才能使用.Service 有自己的生命周期,我们可以调用 startService启动一个 Service 或者 bindService方法来绑定一个存在的 Service (3) Broadcast Receiver 简介 Broadcast Receiver 顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。
到目前为止我们可以使用 Intent 来启动一个程序组件,我们还可以通过使用sendBroadcast方法来发起一个系统级别的事件广播来传递消息。
我们可以在你的应用程序中实现 Broadcast Receiver 来监听和响应这些广播的 Intent (4) ContentProvider 简介 Content Provider 用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。
它是跨应用程序共享数据的唯一方法。
Android 为
常用的数据类型(如:音视频、图片和联系方式等)提供了大量的 ContentProvider。
它们被定义在
android.provider 包下面。
通过这样定义好的 ContentProvider 我们可以方便的进行数据操作。
当然我们必须拥有适当的权限。
我们也可以自己来定ContentProvider 共享我们的数据,方便用户的访问。
第二章 需求分析 在任何软件的开发过程中,需求分析都是十分重要的环节。
对于
Android 开发来说也是如此,实践表明,需求分析
工作所做的程度,在很大程度上决定了软件的成败。
系统分析的任务是:通过
问题识别、可行性分析、详细调查、系统化分析、最终完成新系统的逻辑方案设计,或称逻辑模型设计。
逻辑
方案解决“做什么”问题,是需求分析的任务。
下面将就音乐视频播放器是否可行来进行分析。
2.1 可行性分析 可行性分析的任务是明确开发应用项目的必要性和可行性。
必要性来自实现开发任务的迫切性,而可行性则取决于实现应用系统的资源和条件。
这项工作建立在前面初步调查的基础上。
2.1.1
经济可行性 由于本次设计中所采用的开发工具均为开源产品,无费用需求;如软件不发布则需要申请
Android 市场签名权限 20 美金。
所以本次开发不需要任何经费支出。
2.1.2 技术可行性 对于
Android 操作系统来说,拥有自身完善的 API,通过深入
学习和研究,
Android操作系统在多媒体文件播放方面有自身完善的数据库,现行很多播放器采用自身去检索SD 卡的方式,而在本软件的设想中,尽量减少软件自身体积, 从 调用系统数据库, AndroidAPI 中可知是可行的,对于文件播放与多媒体文件支持方面,
Android API 也是可以做到的,所以从技术的角度分析,整合音乐、视频播放于一身是可行的。
2.1.3 操作可行性 本软件的操作界面要做到简洁、友好、功能全面,保证了用户操作的人性化。
对各类用户的错误操作或异常情况应有提示或自动消除能力。
2.2 软件功能分析 通过研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各的播放特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。
目前已经需要的功能有能播放常见音频文件的功能,如 MP3、WAV、3GP 等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退等。
音乐播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。
2.3 目标系统逻.