1Android课程设计视频播放器所在系(院):数学与信息技术学院学生姓名:学生姓名:指导教师:研究起止日期:二○一二年二月至二○一二年五月2摘要一.Android平台1.谷歌与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。2.Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。3.所有的Android应用之间是完全平等的。4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。5.Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。二.Java开发环境Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java1.2版本是一个重要的版本,基于该版本,Sun将Java技术分为J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。三.EclipseEclipse的基础是富客户机平台(RichClientPlatform,即RCP)。RCP包括下列组件:核心平台(Eclipse,运行插件)标准集束框架(OSGi:OpenServiceGatewayinitiative)可移植构件工具包(SWT:Eclipse'sStandardWidgetToolkit)JFace(文件缓冲,文本处理,文本编辑器)Eclipse采用的技术是IBM公司开发的SWT,这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件:不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其他所有功能都以插3件的形式附加于Eclipse核心之上。Eclipse基于内核包括:图形API(SWT/JFace),Java开发环境插件(JDT),插件开发环境(PDE)等。Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby、Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。四.Android程序基础—Android应用程序的构成1.Activity顾名思义,Activity就是活动。应用程序必须至少包含一个Activity。Activity提供了一个虚拟的用户接口,每一个Activity都有一个默认的窗口可以用来显示用户界面,一般情况下,它是全屏的窗口。例如,影音播放软件的每个用户界面就是Activity。2.ServiceService与Activity的主要区别在于,Service是在后台活动的,它没有用户界面。典型的应用场景是,用户选择了一个播放列表开始播放后,离开了该用户界面(Activity),如果仍然希望歌曲不会暂停,就可以用Service去调用播放器,而不是在Activity中调用播放器。3.Intent在Android中,每一个行为都可以抽象为一个Intent。可以简单地把Intent理解为一个包含了数据的消息。Intent可以用于启动一个Act-ivity或者Service,可以用于进程间的通信。事实上,应用程序的启动也是通过Intent实现的。4.ContentprovidersAndroid平台内置了一套SQLite数据储存机制,并包含一系列管理SQLiteDatabase的相关方法。在应用程序中,可以通过Contentprov-iders访问数据库。每个Contentprovider都定义了一系列的方法用于访问它对应的数据库。应用程序在新建数据库时也可以定义相应的Con-tentprovider用于向其他应用程序共享数据。一般情况下,应用程序不直接调用Contentprovider定义的函数,而是通过ContentResolver间接调用。4目录1软件产品介绍......................................................................................................................51.1软件产品名称............................................................................................................51.2软件总体功能............................................................................................................52软件开发环境......................................................................................................................52.1JDK安装....................................................................................................................52.2AndroidSDK安装以及系统设置.............................................................................52.3Eclipse安装以及ADT工具的安装.........................................................................53软件功能说明......................................................................................................................63.1软件布局....................................................................................................................63.2视频文件搜索功能....................................................................................................73.3播放控制功能............................................................................................................83.4其他功能....................................................................................................................94程序流程图........................................................................................................................105软件界面及程序主要代码................................................................................................115.1软件在虚拟机上调试及分析..................................................................................115.2软件在手机上的调试及分析..................................................................................125.3程序主要代码..........................................................................................................136设计总结............................................................................................................................147设计收获............................................................................................................................158附录....................................................................................................................................1551软件产品介绍1.1软件产品名称一个基于Android平台的视频播放器1.2软件总体功能(1)能够播放.avi,.mp4等文件(2)能处理简单的异常,例如文件不存在等(3)能正常启动,退出(4)能够在手机上使用该系统2软件开发环境2.1JDK安装JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为也可从其他网站下载。下载完成后,双击运行JDK安装程序并根据提示设定环境变量。2.2AndroidSDK安装以及系统设置下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,默认SDK安装目录为$SDK_ROOT。Linux