网络命令大全-单机cs1 6中文版官方下载

surfaceview
2023年4月3日发(作者:mswinsck ocx)

沈阳理工大学课程设计专用纸No1

沈阳理工大学

摘要

如今,随着基于android的智能手机的兴起,一款具有个性化的多功能播放器是消费

者的一个主要需求。因此,设计一个基于android手机的简单音频播放器,具有重要的实

际意义。遵循软件工程规范,文中主要介绍了基于android的简单影音播放器的设计和实

现过程,实现了手机中视频文件的过滤读取、播放、暂停、重复、停止等功能。同时简单

的实现了实时流协议RTSP(RealTimeStreamingProtocol)网上视频流的播放功能。选用的开

发环境是基于Eclipse和AndroidADT的Java编写代码,使用了具有信息缓冲的surface

view控件、美化界面布局的AndroidActivity和存放数据的数据库SQLite。

关键词:Android;简单影音播放器;视频播放器

沈阳理工大学课程设计专用纸No1

沈阳理工大学

目录

第1章开发工具与环境.........................................................................................1

1.1Android平台...............................................................................................1

1.2Java开发环境.............................................................................................1

1.3Eclipse.........................................................................................................2

1.4Android程序基础—Android应用程序的构成........................................3

1.5JDK安装.....................................................................................................4

1.6AndroidSDK安装以及系统设置..............................................................4

1.7Eclipse安装以及ADT工具的安装..........................................................5

第2章系统分析与设计.........................................................................................6

2.1系统的可行性分析.....................................................................................6

2.2系统的需求分析........................................................................................6

2.3系统的用例分析.........................................................................................7

第3章系统详细设计.............................................................................................8

3.1本系统的主要代码VideoActivity............................................................8

3.2软件布局设计..........................................................................................11

3.3视频文件搜索功能的设计......................................................................13

3.3其他功能的设计......................................................................................13

总结.........................................................................................................................14

参考文献.................................................................................................................15

沈阳理工大学课程设计专用纸No1

沈阳理工大学

第1章开发工具与环境

1.1Android平台

1.谷歌与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、

高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。

d是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造

商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电

话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性

将在最大程度上得到保持。

3.所有的Android应用之间是完全平等的。

4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它

提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有

其他的东西都是“应用”。

d打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系

人,日历,位置信息结合起来,为用户创造全新的用户体验。

1.2Java开发环境

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为分布式的企业应用提供开发与运行环境。

沈阳理工大学课程设计专用纸No2

沈阳理工大学

1.3Eclipse

Eclipse的基础是富客户机平台(RichClientPlatform,即RCP)。

RCP包括下列组件:

1.核心平台(Eclipse,运行插件)

2.标准集束框架(OSGi:OpenServiceGatewayinitiative)

3.可移植构件工具包(SWT:Eclipse'sStandardWidgetToolkit)

(文件缓冲,文本处理,文本编辑器)

Eclipse采用的技术是IBM公司开发的SWT,这是一种基于Java的窗口组件,类似Java

本身提供的AWT和Swing窗口组件:不过IBM声称SWT比其他Java窗口组件更有效率。

Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。

Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其他所有功能都以插件的形式附加

于Eclipse核心之上。Eclipse基于内核包括:图形API(SWT/JFace),Java开发环境插件

(JDT),插件开发环境(PDE)等。Eclipse的插件机制是轻型软件组件化架构。在富客户机

平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。已有的

分离的插件已经能够支持C/C++(CDT)、Perl、Ruby、Python、telnet和数据库开发。插件

架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种

编程语言。

沈阳理工大学课程设计专用纸No3

沈阳理工大学

1.4Android程序基础—Android应用程序的构成

ty顾名思义,Activity就是活动。应用程序必须至少包含一个Activity。

Activity提供了一个虚拟的用户接口,每一个Activity都有一个默认的窗口可以用来显示用

户界面,一般情况下,它是全屏的窗口。例如,影音播放软件的每个用户界面就是Activity。

eService与Activity的主要区别在于,Service是在后台活动的,它没

有用户界面。典型的应用场景是,用户选择了一个播放列表开始播放后,离开了该用户界

面(Activity),如果仍然希望歌曲不会暂停,就可以用Service去调用播放器,而不是在

Activity中调用播放器。

在Android中,每一个行为都可以抽象为一个Intent。可以简单地把

Intent理解为一个包含了数据的消息。Intent可以用于启动一个Act-ivity或者Service,可

以用于进程间的通信。事实上,应用程序的启动也是通过Intent实现的。

tprovidersAndroid平台内置了一套SQLite数据储存机制,并包含一系列管理

SQLiteDatabase的相关方法。在应用程序中,可以通过Contentprov-iders访问数据库。每

个Contentprovider都定义了一系列的方法用于访问它对应的数据库。应用程序在新建数据

库时也可以定义相应的Con-tentprovider用于向其他应用程序共享数据。一般情况下,应

用程序不直接调用Contentprovider定义的函数,而是通过ContentResolver间接调用。

沈阳理工大学课程设计专用纸No4

沈阳理工大学

1.5JDK安装

JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理

解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在Windows上

安装JDK非常简单,访问Oracle官方网站下载页面,网址为

/technetwork/indexes/downloads/,也可从其他网站下载。下载

完成后,双击运行JDK安装程序并根据提示设定环境变量。

1.6AndroidSDK安装以及系统设置

下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,默认SDK安装目录

为$SDK_ROOT。

下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,

将$SDK_ROOT/tools的完整路径加入其中。如果没有找到设定PATH变量的行,可以自己

添加一行:exportPATH=${PATH}:<$SDK_ROOT/tools的完全路径>

下,在home目录中找到文件.bash_profile,和Linux的一样处理。如果还没有

在机器上设定这个文件,可以创建一个.bash_profile文件。

s下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境

变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全

路径加入其中。

通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入

完全路径名了。需要注意到是,当升级了SDK后,如果安装路径有变动的话,不要忘记

了更新PATH变量的设置,将其指向变动后的路径。

配置SDK有两种方法:第一种,通过SDK下载器自动下载和配置。适合网络好,下

载速度快的情况;第二种,借助工具下载SDK文件,手工配置。适合网络不是很好,下

载速度慢的情况下。

沈阳理工大学课程设计专用纸No5

沈阳理工大学

1.7Eclipse安装以及ADT工具的安装

下载Eclipse安装包后,无需安装,只需解压缩,点击“”文件即可运

行。

Android为Eclipse定制了一个插件,即AndroidDevelpomentTools(ADT),目的

是为用户提供一个强大的综合环境用于开发Android应用程序。ADT扩展了Eclipse的功

能,可以让用户快速建立Android项目,创建应用程序界面,在基于Android框架API的

基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs

以便发行应用程序。安装ADT:启动Eclipse,选择Help>InstallNewSoftware,在出现的对

话框里,点击Add按钮,在对话框的name一栏输入"ADT",然后点击Archive...,浏览和选

择已经下载的ADT插件压缩文件,点击OK。返回可用软件的视图,你会看到这个插件,

然后选择DevelopmerTools,点击Next,最后重启Eclipse。

软件开发环境搭建好后,便可以开始创建项目了。

沈阳理工大学课程设计专用纸No6

沈阳理工大学

第2章系统分析与设计

2.1系统的可行性分析

可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实

际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要

的,也是很重要的,经过最初的设计目标和进行的实时调查得出以下四点的可行性分析:

(1)技术可行性:Eclipse+AndroidADT的技术已经较为成熟,通过SUN公司(现

被ORCEL公司收购)推出的跨平台、动态的JAVA语言进行开发。

(2)运行可行性:该系统需要Android虚拟机环境,Eclipse中安装ADT,DDMS等

GoogleAndroid相关插件。其运行环境已经相当稳定,它功能丰富,包括了完备的Android

程序的编码、调试、测试和发布功能,其中支持所有Android应用开发相关技术,包括

SQLite,Skia,3D制作,AndroidXML,能够很好的发布Android的应用程序APK包。

(3)法律可行性:因为是自主开发设计,所以不会构成侵权,在法律上是可行的。

通过以上的可行性分析,将采用Eclipse+AndroidADT+DDMS技术,运用JAVA语言

进行系统的开发。

2.2系统的需求分析

根据分析需求,这个系统必须实现以下的功能:

(1)实现手机支持的视频格式文件的播放功能。

作为播放器,其核心就是能够流畅的播放视频文件。手机一般不会支持对解码要求太

高的格式,如rmvb。作为手机硬件能够承载的视频流文件,都能够流畅的播放,如MP3,

MP4。

(2)能够在手机里面定位视频文件。

在本播放器设计中,就是实现这样一个能够直接给出视频文件的绝对地址,能够对其

进行相关的播放相关的控制相应。如直接播放,暂停,重播等。

沈阳理工大学课程设计专用纸No7

沈阳理工大学

2.3系统的用例分析

视频基本播放用例如图2.1所示。

图2.1视频基本播放用例图

用户

开始

暂停

重播

停止

沈阳理工大学课程设计专用纸No8

沈阳理工大学

第3章系统详细设计

3.1本系统的主要代码VideoActivity

VideoActivity中包含了播放器的所有的功能动作。详细代码如下:

ty;

anager;

layer;

;

;

eHolder;

eView;

;

xt;

utton;

publicclassVideoActivityextendsActivity{

privatestaticfinalStringTAG="VideoActivity";

privateEditTextfilenameText;

privateSurfaceViewsurfaceView;

privateMediaPlayermediaPlayer;

@Override

publicvoidonCreate(BundlesavedInstanceState){

te(savedInstanceState);

setContentView();

ButtonClickListenerlistener=newButtonClickListener();

ImageButtonplayButton=(ImageButton)ewById();

lickListener(listener);

ImageButtonpauseButton=(ImageButton)ewById();

lickListener(listener);

ImageButtonresetButton=(ImageButton)ewById();

lickListener(listener);

ImageButtonstopButton=(ImageButton)ewById();

lickListener(listener);

沈阳理工大学课程设计专用纸No9

沈阳理工大学

filenameText=(EditText)ewById(me);

surfaceView=(SurfaceView)ewById(eView);

/*下面设置Surface不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送

到用户面前*/

der().setType(E_TYPE_PUSH_BUFFERS);

der().setFixedSize(176,144);//设置分辨率

mediaPlayer=newMediaPlayer();

}

@Override

protectedvoidonDestroy(){

if(ing())();

e();

roy();

}

@Override

protectedvoidonPause(){

if(ing())();

e();

}

@Override

protectedvoidonResume(){

if(!ing())();

me();

}

kListener{

@Override

publicvoidonClick(Viewv){

try{

Stringfilename=t().toString();

switch(()){

://来自播放按钮

();

ioStreamType(_MUSIC);

aSource("/sdcard/"+filename);//设置需要播放的视频

play(der());//把视频画面输出到

SurfaceView

e();

沈阳理工大学课程设计专用纸No10

沈阳理工大学

();

break;

://来自暂停按钮

if(ing()){

();

}else{

();

}

break;

://来自重新播放按钮

if(!ing()){

();

ioStreamType(_MUSIC);

aSource("/sdcard/"+filename);//设置需要播放的

视频

play(der());//把视频画面输出

到SurfaceView

e();

();

}

(0);

break;

://来自停止按钮

if(ing()){

();

}

break;

}

}catch(Exceptione){

Log.e(TAG,ng());

}

}

}

}

沈阳理工大学课程设计专用纸No11

沈阳理工大学

3.2软件布局设计

此为一个简单的视频播放器,设计的软件需要支持快进、快退、暂停、继续和进度

拖曳等功能。视频播放软件工程文件主要包括src文件夹(Java源码)、res文件夹(资源

文件)和(程序清单)。软件主要由Activities组成,每个Activity对

应一个模块。不同的Activity通过Intent进行通信和相互调用。软件的布局()如

下:

<?xmlversion="1.0"encoding="utf-8"?>

android:background="#FFFFFF"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/filename"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="4"

android:id="@+id/filename"

/>

android:orientation="horizontal"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/play"

android:id="@+id/play"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/pause"

沈阳理工大学课程设计专用纸No12

沈阳理工大学

android:id="@+id/pause"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/reset"

android:id="@+id/reset"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/stop"

android:id="@+id/stop"

/>

android:layout_width="fill_parent"

android:layout_height="240dip"

android:id="@+id/surfaceView"

/>

布局主体为LinearLayout,由多个TextView、Button等类组成。视频播放器设计的运行效

果如图3.1所示。

图3.1视频播放器设计图

沈阳理工大学课程设计专用纸No13

沈阳理工大学

3.3视频文件搜索功能的设计

此程序需要输入文件的绝对路径,例如"/sdcard/4";输入文件名字之后,部分

程序如下:

if(()){

eoPath(olutePath());//文件绝对路径

iaController(mediaController);//设置videoView与

mediaControler的关联

iaPlayer(videoView);

tFocus();

}

3.3其他功能的设计

此程序还能处理简单的异常,输入文件后,若文件不存在,会提醒你“很抱歉,您输

入的文件不存在,请重新输入”,若文件格式不符合,也会有相应的提示。部分程序如下:

if(()){......}

else{

xt(,"很抱歉,您输入的文件不存在,请重新输入",

_LONG).show();

}

沈阳理工大学课程设计专用纸No14

沈阳理工大学

总结

在此次课程设计中,不仅了解到了android的有关知识,而且学习了Java语言以及

eclipse等硬件环境。有几点需要特别注意:

1.要明确课程设计的要求,想好系统应该包含哪些功能模块。否则,在软件设计的后

期,再想添加新的功能就需要花费大量的时间。

2.要对android系统有一定的了解。在软件设计过程中,大量的用到了android系统的

四大组件:Activity(提供可视化的界面)、Service(运行在后台的服务程序)、Broadcast

Receiver(广播事件处理机制)、ContentProvider(使应用程序相互访问数据)。只有对这些

组件熟练掌握后,才能够真正设计出稳健搞笑的多媒体播放器。

3.要对Java语言熟练掌握。Android软件开发都是用Java语言写的,而Java又是由

类组成的。而Java语言本身又含有众多机制,只有深刻理解这些机制后,才能轻松地实现

自己想要的功能。

4.要对界面设计有一定的了解。Android所有的布局都放在了res/layout中,而所有的

菜单选项都放在了res/menu中。合理的布局对人性化的界面也是至关重要的。

5.要具备快速上网查资料的能力。面对从没接触过的知识,要有信心才是最重要的。

另外,网上的很多现成的资料都可借鉴、学习。在熟练理解了别人的应用程序的基础上,

再做二次开发。

沈阳理工大学课程设计专用纸No15

沈阳理工大学

参考文献

[1]余志龙,陈昱勋.GoogleAndroidSDK开发范例大全(第二版)[M].人民邮电出版

社.2010

[2]王志超,王敏.基于Android平台的MP3播放器的分析与设计.[J].Forum论坛.2011.9

[3]何晓杰.Android开发经验谈[J].移动开发大势图.2010.9

[4]d基础教程[J].人民邮电出版社.2010.8

[5]GoogleAndroid开发入门与实战

[6]Android开发者网站:

[7]Android中文网:

更多推荐

surfaceview