1、 软件课程设计实验报告软件课程设计实验报告 题 目:基于 android 平台的视频播放器设计 院 系:电子与信息工程系 专 业:通信工程 班 级:XX 姓 名:XX 团队成员:XX XX 辅导老师:XXX xxxx 年 xx 月 xx 日 -1-摘摘 要要 一一Android 平台平台 1.谷歌与开放 联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。2.Android 是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、
2、开放式的移动 软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。3.所有的 Android 应用之间是完全平等的。4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的 API。撇开这个核心引擎,Android 的所有其他的东西都是“应用。5.Android 打破了应用之间的界限,比方开发人员可以把 Web 上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。二二Java 开发环境开发环境 Java 技术包含了一个编程语言及一个平台。Java 编程语言具有很多
3、特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java 编程语言起源于 Sun 公司的一个叫“Green的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。1996 年 1 月发布了 JDK1.1 版本,一门新语言自此走向世界。之后,1998 年 12 月发布了 1.2 版本,2023 年 2 月发布 1.4 版本,2023 年 10 月发布 1.5 版本5.0,2023 年 12 月发布 1.66.0版本,这是目前的最新版本。Java1.2 版本是一个重要的版本,基于该版本,Sun 将 Java 技术分为 J2SE、J2ME、J2EE,其中J2SE 为创立和运行 Java
4、 程序提供了最根本的环境,J2ME 与 J2EE 建立在 J2SE 的根底上,J2ME为嵌入式应用如运行在 里的 Java 程序提供开发与运行环境,J2EE 为分布式的企业应用提供开发与运行环境。三三Eclipse Eclipse 的根底是富客户机平台Rich Client Platform,即 RCP。RCP 包括以下组件:核心平台Eclipse,运行插件 标准集束框架OSGi:Open Service Gateway initiative 可移植构件工具包SWT:Eclipses Standard Widget Toolkit JFace文件缓冲,文本处理,文本编辑器 Eclipse 采用
5、的技术是 IBM 公司开发的 SWT,这是一种基于 Java 的窗口组件,类似 Java 本身提供的 AWT 和 Swing 窗口组件:不过 IBM 声称 SWT 比其他 Java 窗口组件更有效率。Eclipse 的用户界面还使用了 GUI 中间层 JFace,从而简化了基于 SWT 的应用程序的构建。Eclipse 的设计思想是:一切皆插件。Eclipse 核心很小,其他所有功能都以插件的形式附加于 Eclipse 核心之上。Eclipse 基于内核包括:图形 APISWT/JFace,Java 开发环境插件(JDT),插件开发环境PDE等。Eclipse 的插件机制是轻型软件组件化架构。
6、在富客户机平台上,Eclipse 使用插件来提供所有的附加功能,例如支持 Java 以外的其他语言。已有的别离的插件已经能够支持C/C+(CDT)、Perl、Ruby、Python、telnet 和数据库开发。插件架构能够支持将任意的扩展参加到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。-2-四四Android 程序根底程序根底Android 应用程序的构成应用程序的构成 1.Activity 顾名思义,Activity 就是活动。应用程序必须至少包含一个 Activity。Activity提供了一个虚拟的用户接口,每一个 Activity 都有一个默认的窗口可以用来显示用户界面
7、,一般情况下,它是全屏的窗口。例如,影音播放软件的每个用户界面就是 Activity。2.Service Service 与 Activity 的主要区别在于,Service 是在后台活动的,它没有用户界面。典型的应用场景是,用户选择了一个播放列表开始播放后,离开了该用户界面(Activity),如果仍然希望歌曲不会暂停,就可以用 Service 去调用播放器,而不是在 Activity 中调用播放器。3.Intent 在 Android 中,每一个行为都可以抽象为一个 Intent。可以简单地把 Intent理解为一个包含了数据的消息。Intent 可以用于启动一个 Act-ivity 或者
8、 Service,可以用于进程间的通信。事实上,应用程序的启动也是通过 Intent 实现的。4.Content providers Android 平台内置了一套 SQLite 数据储存机制,并包含一系列管理 SQLite Database 的相关方法。在应用程序中,可以通过 Content prov-iders 访问数据库。每个Content provider 都定义了一系列的方法用于访问它对应的数据库。应用程序在新建数据库时也可以定义相应的 Con-tent provider 用于向其他应用程序共享数据。一般情况下,应用程序不直接调用 Content provider 定义的函数,而是通
9、过 ContentResolver 间接调用。这样设计的好处是一个 ContentResolver 可以访问任何的 Content provider,统一了接口。-3-目录目录 1 课程设计概述课程设计概述 4 1.1 课程设计题目 4 1.2 课程设计要求 4 2 硬件平台搭建硬件平台搭建 4 2.1 JDK 安装 4 2.2 Android SDK安装以及系统设置 4 2.3 Eclipse 安装以及 ADT 工具的安装 4 3 软件设计软件设计 5 3.1 软件布局设计 5 3.2 视频文件搜索功能的设计 6 3.3 播放控制功能的设计 7 3.4 其他功能的设计 7 4 软件调试软件调
10、试 8 4.1 软件在虚拟机上调试及分析 8 4.2 软件在 上的调试及分析 9 5 总结与改良展望总结与改良展望 10 6 附录附录 11 -4-1 课程设计概述课程设计概述 1.1 课程设计题目课程设计题目 一个基于 Android 平台的简单视频播放器 1.2 课程设计要求课程设计要求 (1)能够播放.avi,.mp4 等文件 (2)能处理简单的异常,例如文件不存在等 (3)能正常启动,退出 (4)能够在 上使用该系统 2 硬件平台搭建硬件平台搭建 2.1 JDK 安装安装 JDK 是 Java 语言的原创者推出的原始开发环境。采用 JDK 开发 Java 程序能够很快理解程序中各局部代
11、码之间的关系,有利于理解 Java 面向对象的设计思想。在 Windows 上安装 JDK非 常 简 单,访 问Oracle官 方 网 站 下 载 页 面,网 址 为 :/oracle /technetwork/indexes/downloads/index.html,也可从其他网站下载。下载完成后,双击运行 JDK 安装程序并根据提示设定环境变量。2.2 Android SDK 安装以及系统设置安装以及系统设置 下载好 SDK 包后,将 zip 文件解压缩至适宜的地方。在下文中,默认 SDK 安装目录为$SDK_ROOT。Linux 下,翻开文件/.bash_profile 或者/.bash
12、rc,找到设定 PATH 环境变量的一行,将$SDK_ROOT/tools 的完整路径参加其中。如果没有找到设定 PATH 变量的行,可以自己添加一行:export PATH=$PATH:Mac 下,在 home 目录中找到文件.bash_profile,和 Linux 的一样处理。如果还没有在机器上设定这个文件,可以创立一个.bash_profile 文件。Windows 下,右键点击【我的】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量中的变量“Path,将$SDK/tools 的完全路径参加其中。通过将$SDK/tools 参加系统路径,在运行 ad
13、b 和其它一些命令行工具时就不需要键入完全路径名了。需要注意到是,当升级了 SDK 后,如果安装路径有变动的话,不要忘记了更新 PATH变量的设置,将其指向变动后的路径。配置 SDK 有两种方法:第一种,通过 SDK 下载器自动下载和配置。适合网络好,下载速度快的情况;第二种,借助工具下载 SDK 文件,手工配置。适合网络不是很好,下载速度慢的情况下。2.3Eclipse 安装以及安装以及 ADT 工具的安装工具的安装 下载 Eclipse 安装包后,无需安装,只需解压缩,点击“eclipse.exe文件即可运行。Android 为 Eclipse 定制了一个插件,即 Android Deve
14、lpoment Tools(ADT),目的是为用户提供一个强大的综合环境用于开发 Android 应用程序。ADT 扩展了 Eclipse 的功能,可以让用户快速建立 Android 项目,创立应用程序界面,在基于 Android 框架 API 的根底上添加组件,以及用 SDK 工具集调试应用程序,甚至导出签名或未签名的 APKs 以便发行应用程序。安装 ADT:启动 Eclipse,选择 HelpInstall New Software,在出现的对话框里,点击 Add 按钮,在-5-对话框的 name 一栏输入ADT,然后点击 Archive.,浏览和选择已经下载的 ADT 插件压缩文件,点
15、击 OK。返回可用软件的视图,你会看到这个插件,然后选择 Developmer Tools,点击Next,最后重启 Eclipse。硬件平台搭建好后,便可以开始创立项目了。3 软件设计软件设计 3.1 软件布局设计软件布局设计 此为一个简单的视频播放器,设计的软件需要支持快进、快退、暂停、继续和进度拖曳等功能。视频播放软件工程文件主要包括 src 文件夹Java 源码、res 文件夹资源文件和AndroidMainfest.xml程序清单。软件主要由 Activities 组成,每个 Activity 对应一个模块。不同的 Activity 通过 Intent 进行通信和相互调用。软件的布局m
16、ain.xml如下:布局主体为 LinearLayout,由多个 TextView、Button 等类组成。3.2 视频文件搜索功能的设计视频文件搜索功能的设计 此程序需要输入文件的绝对路径,例如/sdcard/video.mp4;输入文件名字之后,点击 open file。局部程序如下:if(video.exists()videoView.setVideoPath(video.getAbsolutePath();/文件绝对路径 videoView.setMediaController(mediaController);/设置videoView与mediaControler的关联 mediaController.setMediaPlayer(videoView);videoView.requestFocus();-7-3.3 3.3 播放控制功能的设计播放控制功能的设计 在翻开播放文件之后,点击画面的空白局部,这时会弹出视频播放控制按钮,分别是后退、播放/暂停和前进,下面显示视频播放时间轴,可以进行拖曳。点击 qiut 即可退出界面 3.4 3.4 其他功能的设计其他功能的设计 此程序