基于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 编程 语言核心库的大多数功能。 7 每一个 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 简 介 8 在 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 开发平台的搭建。 搭建开发环境需要的软件有: 9 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 包导入,然后选中所有可用插件,安装。 安10 装过程比较慢,需要耐心等待。 ⑤ 开发环境验证及安卓模拟器( AVD)的创建 基本软件安装完毕以后,打开 Eclipse 依次选择 File→ New→ Project 会看见Android 项目,创建一个新的项目。 至此,我们的开发环境就搭建好了。 还有就是创建 AVD,可以选择在命令行中创建也可以在 Eclipse→ Window→ AVD Manager 中新建模拟器。 3 系统分析 功能需求分析 根据项目的预期目标,我们可以获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述系统的功能需求,我们分成四部分来概括,即播放器的基本控制需求,媒体文件列表的获取,交互友好性设计和播放器扩展卡需求。 以下分别描述: 播放器的基本控制需求 我们把多媒体播放器的功能细分成音频播放器和视频播放器两部分, 音乐播放器主要有播放、暂停、上一首、下一首、第一首、最后一首、音量控制等功能;视频播放器主要有播放、暂停、上一个、下一 个、音量控制、全屏切换等等。 分别对这两部分的控制功能作出分析,如图 (音频控制)和图 (视频控制)。 11 图 音频播放器基本控制图 图 视频播放器基本控制图 12 表 “播放”用例 说明 参与者 用例说明 用户 用例名称:播放音乐 /视频 目标: 使得用户可以播放在媒体列表中选中 的音频 /视频文件 前置条件: 播放器正在运行 基本事件流:①用户单击“播放”按钮 ②播放当前选中音乐 /视频 表 “暂停” 用例说明 参与者 用例说明 用户 用例名称:暂停音乐 /视频 目标: 使得用户可以暂停正在播放的 音频 /视频文件 前置条件: 音乐 /视频正在播放 基本事件流:①用户单击“ 暂停 ”按钮 ② 暂停 当前音乐 /视频 表 “ 切换 上 /下首 ” 用例说明 参与者 用例说明 用户 用例名称: 切换 上一个 /下一个 音乐 /视频 目标: 使得用户可以 切换到上一 个 /下一个 音乐 /视频 前置条件: 音乐 /视频正在播放或暂停 基本事件流:①用户单击“ 上个 /下个 ”按钮 ②播放 上一个 /下一个音乐 /视频 13 表 “ 切换 第一 /最后一首 ” 用例说明 参与者 用例说明 用户 用例名称: 切换 第一 /最后一首音乐 目标: 使得用户可以切换到第一 /最后一首 音乐 前置条件:音乐 /视频正在播放或暂停 基本事件流:①用户单击“第一首 /最后一首”按钮 ②播放第一 /最后一首音乐 表 “ 查看 媒体 列表” 用例说明 参与者 用例说明 用户 用例名称: 查看媒体列表 目标: 使得用户可以 查看音乐 /视频列表 前置条件: 播放器正在运行 基本事件流:①用户单击“ 听音乐 ” 或“视频列表”图片 按钮。基于android平台的多媒体播放器的开发
相关推荐
droid。 Android 公司是 由 鲁宾 等人 在 2020 年 的创办 一家美国公司, 他把 手机软件和手机操作系统 设置为该公司的 主要业务。 2020 年 Google 公司宣布 Android是基于 Linux 平台的开源手机操作系统的名 称,从此 走上了新的舞台。 Windows 系统中 Android 开发平台在 Eclipse 上的搭建 对于一个开发者而言,在进行
的设备定制。 媒体库 基于 PacketVideo OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4, , MP3, AAC, AMR, JPG, PNG。 Surface Manager 对显示 子系统的管理,并且为多个应用程序提供 2D 和 3D 图层的无缝融合。 LibWebCore 一个最新的 web 浏览器引擎用来支持 Android
(删除 , new () { @Override public void onClick(DialogInterface dialog, int which) { ()。 (getListView().getItemIdAtPosition(position))。 updateListView()。 ()。 } })。 ().show()。 // show(x)。 //弹出对话框 } } 3.
公司已经停止生产 89CXX 系列的单片机,现在市面上的AT89CXX 多是停产前的库存产品。 LCD 显示器 1602 液晶模块内部的控制器共有 11 条控制指令,如表 所示: 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0
的可靠性对保证任何自动控制系统的正常工作极为重要,一旦发生故障,将会直接导致本 次 设计的失败。 ● 高精度。 在本次设计中对电机的响应精度要求较高,因为我们所加的脉冲宽度是毫秒级得,有时甚至是微秒级的。 从广义上而言,直流电机特性的线性度 14 和失灵区会直接影响到系统的精度。 ● 启动、停止和反向均能连续有效的进行,具有良好的响应特性。 ● 正转 反转的特性相同,且运行特性稳定。 ●
业 论 文 开 题 报 告 3.本课题的重点和难点 重点: 界面设计,各种 UI组件的使用,复杂布局的设计。 多媒体框架 SDK的了解与使用 3. android 四大组件( Activity,Service,ContentProvider,BrocastReciver)的应用 . 难点: 1. 复杂 UI 界面的设计 2. 兼容性测试