基于安卓android系统的多媒体播放器的开发功能实现毕业论文内容摘要:

退功能。 (3) Libraries 库 Android 包括一个被 Android 系统中各种不同组件所使用的 C/C++ 库集。 该库通过 Android 应用程序框架为开发者提供服务。 以下是一些主要的核心库: 系统 C 库 一个从 BSD 继承来的标准 C 系统函数库( libc ),专门为基于 embedded linux 的设备定制。 媒体库 基于 PacketVideo OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括 MPEG4, , MP3, AAC, AMR, JPG, PNG。 Surface Manager 对显示子系统的管理,并且为多个应用程序提供 2D和 3D 图层的无缝融合。 LibWebCore 一个 最新的 web 浏览器引擎用来支持 Android 浏览器和一个可嵌入的 web 视图。 SGL 一个内置的 2D 图形引擎 3D libraries 基于 OpenGL ES 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 kernel 之上,但并不是 GNU/Linux。 因为在一般 GNU/Linux 里支持的功能, Android 大都没有支持,包括 Cairo、 X1Alsa、 FFmpeg、 GTK、 Pango 及 Glibc 等都被移除掉了。 Android 又以 bionic 取代 Glibc、以 Skia 取代 Cairo、再以 opencore 取代 FFmpeg 等等。 Android 为了达到商业应用,必须移除被 GNU GPL 授权证所约束的部份,例如Android 将驱动程序移到 userspace,使得 Linux driver 与 Linux kernel 彻底分开。 bionic/libc/kernel/ 并非标准的 kernel header files。 Android 的 kernel header 是利用工具由 Linux kernel header 所产生的,这样做是为了保留常数、数据结构与宏。 目前 Android 的 Linux kernel 控制包括安全( Security),存储器管理( Memory Management ),程序管理( Process Management ),网络堆栈( Network Stack),驱动程序 模型( Driver Model)等。 下载 Android 源码之前,先要安装其构建工具 Repo 来初始化源码。 Repo 是 Android 用来辅助Git 工作的一个工具。 Android 系统的四大组件 在 Android 系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像 Activity, ContentProvider 是可见的视图, Service 和 BroadcastReceiver 是不可见的,它们只在系统的后台运行。 下面分别介绍四大组件: ( 1) Activity 简 介 在 Android 系统中 Activity 提供可视化的用户界面,一个 Android 应用通常由多个 Activity组成。 多个 Activity组成了 Activity栈( Stack),当前活动的 Activity处于栈顶。 Activity 有自己的生命周期,由 Android 系统来控制。 ( 2) Service 简介 顾名思义 Service 就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个 Service 类比较简单,只要继承 Service 类,实现其生命周期中的方法就可以了。 一个定义好的 Service 必须 在 配置文件注册,通过 service元素声明才能使用 .Service 有自己的生命周期,我们可以调用 startService()启动一个 Service 或者 bindService()方法来绑定一个存在的 Service。 ( 3) Broadcast Receiver 简介 Broadcast Receiver 顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。 到目前为止我们可以使用 Intent 来 启动一个程序组件,我们还可以通过使用 sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。 我们可以在你的应用程序中实现 Broadcast Receiver 来监听和响应这些广播的 Intent。 ( 4) ContentProvider 简介 Content Provider 用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。 它是跨应用程序共享数据的唯一方法。 Android 为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的 Content Provider。 它们被定义在 包下面。 通过这样定义好的ContentProvider 我们可以方便的进行数据操作。 当然我们必须拥有适当的权限。 我们也可以自己来定 ContentProvider 共享我们的数据,方便用户的访问。 搭建 Android 开发环境 任何事物要运行,都需要有它自身的环境配置, Android 也不例外,下面就来简单讲解一下在 Windows7 系统环境下 Android 开发平台的搭建。 搭建开发环境需要的软件有: 1. PC 操作系统: Windows7 2. 软件包: Android SDK( Software Development kit)、 以上( Android Development Tool) 3. IDE 环境: Eclipse IDE+ADT 以上 4. JDK :( JRE) Java Runtime Environment 虚 拟 机 、 (JDK)Java Development kit 安装步骤如下: ① 安装 JDK 在 SUN 官网下载,网址为 到适合自己系统的安装文件 ,下载完成后安装。 然后在CMD 窗口输入 java –version 检测是否安装成功,如果未能成功则需要自己手动在系统环境变量新建一个 “ JAVA_HOME” 变量,变量值设置为 JDK 安装目录即可。 再 新 建 一 个 classpath 变 量 , 值 设 置 为“ .。 %JAVA_HOME%/lib/。 %JAVA_HOME%/lib/” ,然后找到 PATH 变量,在值的最前面加上 “ %JAVA_HOME%/bin。 ” (环境变量在我的电脑高级系统设置属性那里设置)。 ② 安装 Eclipse 进入 Eclipse 下载页面 Eclipse IDE for Java Developers,下载完成后解压缩即可使用。 首次打开可选择自己的工作站点。 ③ 安装 Android SDK 打开 Android 开发者社区网址 SDK 下 载页面即可下载 ,下载后解压缩,将解压后的 tools 目录绝对路径添加到系统变量 SDK_HOME 中,并在 PATH 系统变量前面加上“ %SDK_HOME%\tools。 ” 在 CMD 窗口中输入测试命令 android –h 验证是否安装成功。 ④ 安装 ADT 这里我们不建议联网安装,因为通常都会失败,被屏蔽了。 我们可以下去下载 ADT 包,然后手动导入安装。 打开 Eclipse→ help→ Install New Software,单击Add… → Local,将已下载好的 ADT 包导入,然后选中所有可用插件,安装。 安 装过程比较慢,需要耐心等待。 ⑤ 开发环境验证及安卓模拟器( AVD)的创建 基本软件安装完毕以后,打开 Eclipse 依次选择 File→ New→ Project 会看见Android 项目,创建一个新的项目。 至此,我们的开发环境就搭建好了。 还有就是创建 AVD,可以选择在命令行中创建也可以在 Eclipse→ Window→ AVD Manager 中新建模拟器。 3 系统分析 功能需求分析 根据项目的预期目标,我们可以获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述系统的功能需求,我们分成四部分来概括,即播放器的基本控制需求,媒体文件列表的获取,交互友好性设计和播放器扩展卡需求。 以下分别描述: 播放器的基本控制需求 我们把多媒体播放器的功能细分成音频播放器和视频播放器两部分, 音乐播放器主要有播放、暂停、上一首、下一首、第一首、最后一首、音量控制等功能;视频播放器主要有播放、暂停、上一个、下一 个、音量控制、全屏切换等等。 分别对这两部分的控制功能作出分析,如图 (音频控制)和图 (视频控制)。 图 音频播放器基本控制图 图 视频播放器基本控制图 表 “播放”用例 说明 参与者 用例说明 用户 用例名称:播放音乐 /视频 目标: 使得用户可以播放在媒体列表中选中 的音频 /视频文件 前置条件: 播放器正在运行 基本事件流:①用户单击“播放”按钮 ②播放当前选中音乐 /视频 表 “暂停” 用例说明 参与者 用例说明 用户 用例名称:暂停音乐 /视频 目标: 使得用户可以暂停正在播放的 音频 /视频文件 前置条件: 音乐 /视频正在播放 基本事件流:①用户单击“ 暂停 ”按钮 ② 暂停 当前音乐 /视频 表 “ 切换 上 /下首 ” 用例说明 参与者 用例说明 用户 用例名称: 切换 上一个 /下一个 音乐 /视频 目标: 使得用户可以 切换到上一 个 /下一个 音乐 /视频 前置条件: 音乐 /视频正在播放或暂停 基本事件流:①用户单击“ 上个 /下个 ”按钮 ②播放 上一个 /下一个音乐 /视频 表 “ 切换 第一 /最后一首 ” 用例说明 参与者 用例说明 用户 用例名称: 切换 第一 /最后一首音乐 目标: 使得用户可以切换到第一 /最后一首 音乐 前置条件:音乐 /视频正在播放或暂停 基本事件流:①用户单击“第一首 /最后一首”按钮 ②播放第一 /最后一首音乐 表 “ 查看 媒体 列表” 用例说明 参与者 用例说明 用户 用例名称: 查看媒体列表 目标: 使得用户可以 查看音乐 /视频列表 前置条件: 播放器正在运行 基本事件流:①用户单击“ 听音乐 ” 或“视频列表”图片 按钮 ② 用户获得。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。