ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:778KB ,
资源ID:4555230      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4555230.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(Android课程设计(含源代码).doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Android课程设计(含源代码).doc

1、Android课程设计视频播放器所在系(院): 数学与信息技术学院学 生 姓 名: 学 生 姓 名:指 导 教 师: 研究起止日期:二一二年二月至二一二年五月摘 要一 Android平台1. 谷歌与开放手机联盟合作开发了Android, 这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在的30多家技术和无线应用的领军企业组成。2. Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动软件平台,在移动产业形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。

2、3. 所有的Android应用之间是完全平等的。4. 所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。5. Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。二 Java开发环境Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用

3、电器的分布式系统,使电气更加智能化。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为分布式的企业应用提供开发与运行环境。三 Ecl

4、ipseEclipse的基础是富客户机平台(Rich Client Platform,即RCP)。RCP包括下列组件:l 核心平台(Eclipse,运行插件)l 标准集束框架(OSGi : Open Service Gateway initiative)l 可移植构件工具包(SWT : Eclipses Standard Widget Toolkit)l JFace(文件缓冲,文本处理,文本编辑器)Eclipse采用的技术是IBM公司开发的SWT,这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件:不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse

5、的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其他所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基于核包括:图形API(SWT/JFace),Java开发环境插件(JDT),插件开发环境(PDE)等。Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。已有的分离的插件已经能够支持C/C+(CDT)、Perl、Ruby、Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到

6、现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。四 Android程序基础Android应用程序的构成 1.Activity 顾名思义,Activity就是活动。应用程序必须至少包含一个Activity。Activity提供了一个虚拟的用户接口,每一个Activity都有一个默认的窗口可以用来显示用户界面,一般情况下,它是全屏的窗口。例如,影音播放软件的每个用户界面就是Activity。 2.Service Service与Activity的主要区别在于,Service是在后台活动的,它没有用户界面。典型的应用场景是,用户选择了一个播放列表开始播放后,离开了该用户界面(Activit

7、y),如果仍然希望歌曲不会暂停,就可以用Service去调用播放器,而不是在Activity中调用播放器。 3.Intent 在Android中,每一个行为都可以抽象为一个Intent。可以简单地把Intent理解为一个包含了数据的消息。Intent可以用于启动一个Act-ivity或者Service,可以用于进程间的通信。事实上,应用程序的启动也是通过Intent实现的。 4.Content providers Android平台置了一套SQLite数据储存机制,并包含一系列管理SQLite Database的相关方法。在应用程序中,可以通过Content prov-iders访问数据库。每

8、个Content provider都定义了一系列的方法用于访问它对应的数据库。应用程序在新建数据库时也可以定义相应的Con-tent provider用于向其他应用程序共享数据。一般情况下,应用程序不直接调用Content provider定义的函数,而是通过ContentResolver间接调用。目 录1 软件产品介绍31.1 软件产品名称31.2 软件总体功能32 软件开发环境32.1 JDK安装32.2 Android SDK安装以及系统设置32.3 Eclipse安装以及ADT工具的安装43 软件功能说明43.1 软件布局43.2 视频文件搜索功能63.3播放控制功能63.4其他功能8

9、4 程序流程图85 软件界面及程序主要代码95.1 软件在虚拟机上调试及分析95.2 软件在手机上的调试及分析105.3 程序主要代码116 设计总结127 设计收获138 附录131 软件产品介绍1.1 软件产品名称一个基于Android平台的视频播放器1.2 软件总体功能 (1) 能够播放.avi, .mp4等文件 (2) 能处理简单的异常,例如文件不存在等 (3) 能正常启动,退出 (4) 能够在手机上使用该系统2软件开发环境2.1 JDK安装JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计

10、思想。在Windows上安装JDK非常简单,访问Oracle官方下载页面,网址为www.oracle./technetwork/indexes/downloads/index.html,也可从其他下载。下载完成后,双击运行JDK安装程序并根据提示设定环境变量。2.2 Android SDK安装以及系统设置下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,默认SDK安装目录为$SDK_ROOT 。l Linux下,打开文件/.bash_profile或者/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。如果没有找到设定PATH变量的行

11、,可以自己添加一行: export PATH=$PATH:l Mac下,在home目录中找到文件.bash_profile,和Linux的一样处理。如果还没有在机器上设定这个文件,可以创建一个.bash_profile文件。l Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加入其中。通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。需要注意到是,当升级了SDK后,如果安装路径有变动的话,不要忘记了更新PATH变量的

12、设置,将其指向变动后的路径。配置SDK有两种方法:第一种,通过SDK下载器自动下载和配置。适合网络好,下载速度快的情况;第二种,借助工具下载SDK文件,手工配置。适合网络不是很好,下载速度慢的情况下。2.3Eclipse安装以及ADT工具的安装下载Eclipse安装包后,无需安装,只需解压缩,点击“eclipse.exe”文件即可运行。 Android为Eclipse定制了一个插件,即Android Develpoment Tools(ADT),目的是为用户提供一个强大的综合环境用于开发Android应用程序。ADT扩展了Eclipse的功能,可以让用户快速建立Android项目,创建应用程序

13、界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发行应用程序。安装ADT:启动Eclipse,选择HelpInstall New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入ADT,然后点击Archive.,浏览和选择已经下载的ADT插件压缩文件,点击OK。返回可用软件的视图,你会看到这个插件,然后选择Developmer Tools,点击Next,最后重启Eclipse。软件开发环境搭建好后,便可以开始创建项目了。3软件功能说明3.1 软件布局此为一个视频播放器,设计的软件需要支持快

14、进、快退、暂停、继续和进度拖曳等功能。视频播放软件工程文件主要包括src文件夹(Java源码)、res文件夹(资源文件)和AndroidMainfest.xml(程序清单)。软件主要由Activities组成,每个Activity对应一个模块。不同的Activity通过Intent进行通信和相互调用。软件的布局(main.xml)如下: 布局主体为LinearLayout,由多个TextView、Button等类组成。3.2视频文件搜索功能此程序需要输入文件的绝对路径,例如/sdcard/video.mp4;输入文件名字之后,点击open file,即可搜索到你想要播放的视频,部分程序如下:i

15、f(video.exists() videoView.setVideoPath(video.getAbsolutePath();/文件绝对路径 videoView.setMediaController(mediaController);/设置videoView与mediaControler的关联 mediaController.setMediaPlayer(videoView); videoView.requestFocus(); 图13.3 播放控制功能在打开播放文件之后,点击画面的空白部分,这时会弹出视频播放控制按钮,分别是后退、播放/暂停和前进,下面显示视频播放时间轴,可以进行拖曳。图2

16、点击qiut即可退出界面图33.4 其他功能此程序还能处理简单的异常,输入文件后,若文件不存在,会提醒你“很抱歉,您输入的文件不存在,请重新输入”,若文件格式不符合,也会有相应的提示。部分程序如下: if(video.exists(). elseToast.makeText(VideoPlayerActivity.this,很抱歉,您输入的文件不存在,请重新输入, Toast.LENGTH_LONG).show(); 图44程序流程图明确了主要功能后,就需要对此软件基本流程有一个总体规划,本款手机视频播放器基本流程图如图所示。开 始打开视频播放器输入文件的绝对路径点击Open file打开文件

17、进入视频播放界面退出软件YN5软件界面及程序主要代码5.1 软件在虚拟机上调试及分析此次调试采用的虚拟机是Android 2.1,并且分别导入avi,mp4,mp3等文件进行调试。一开始系统点击视频播放器的图标进入视频播放器的界面,执行VideoPlayerActivity.java就可以执行视频播放器的操作了:播放,暂停,快进,快退,退出。v 在调试过程中,遇到了不少问题,大致如下:1) Unable to resolve target android-2原因:将一个低版本的Android项目导入到workspace里通常会在第一时间出现这样的错误提示。解决办法:将default.prope

18、rties属性文件中的Project target修改为android-7即可,android 2.1对应的API为7. 2)Android requires compiler compliance level 5.0 or 6.0. Found 1.7 instead. Please use Android Tools Fix Project Properties.解决办法:点击菜单栏中的projectpropertiesJava CompilerEnable project specific settings,将Compiler compliance level改为1.6。 3)Could

19、 not find videoPlayer.apk!解决办法:点击菜单栏中的projectpropertiesJava Build Path,选择Libraries,点下面的Android 2.1,然后点右边按钮Remove,然后apply,然后ok。再选择projectandroid toolsFix project properties,运行就可以了。还遇到了许多小小的错误,如向sdcard中导入文件不能使用中文路径,在此不一一列出。在解决这些问题过程中,更加熟练地掌握了虚拟机的调试方法,最终能成功地播放文件。在模拟器上大体不错,界面很酷,并且很整齐,功能都可以实现。下面是在模拟器上的实现

20、:图55.2 软件在手机上的调试及分析 播放器的安装:将程序安装包下载到手机上,在手机中找到videoplay.apk的安装文件,打开文件按指示安装videoplay播放器,并在手机的sd卡中放入相应的音频、视频文件。文件的播放: 1)安装成功后,直接打开视频播放器,找到音频、视频文件所在地方,按播放器界面提示,输入要播放的文件的绝对路径,打开文件使之播放,在手机上视频播放更为流畅。流程图如下所示:文件路径,打开播放器,在第一个输入框中输入要播放的文件的打开路径,点击下方Open file 即可打开文件,手机屏幕上提示显示“点击屏幕获取播放控制键”,按指示点击,跳出控制键,点击播放键,即可听音

21、乐或放视频。控制小界面上有播放/暂停、上一曲/快退、下一曲/快进控制键,以及播放进度显示条,我们亦可点击进度条,使播放文件迅速跳转到我们需要的地方。当文件播放完时,屏幕显示跳回到流程图中第三个画面。而当打开的路径不正确时,屏幕上也会给出错误提示,如第六个图所示。如若要退出程序,则点击下方的Quit键,即可退出播放器。2) 打开sd卡文件夹,找到音频、视频文件所在地,直接点击文件,文件即可在播放器中播出。5.3 程序主要代码此程序需要输入文件的绝对路径,例如/sdcard/video.mp4;输入文件名字之后,点击open file,即可搜索到你想要播放的视频,部分程序如下:if(video.e

22、xists() videoView.setVideoPath(video.getAbsolutePath();/文件绝对路径 videoView.setMediaController(mediaController);/设置videoView与mediaControler的关联 mediaController.setMediaPlayer(videoView); videoView.requestFocus(); 输入文件后,若文件不存在,会提醒你“很抱歉,您输入的文件不存在,请重新输入”,若文件格式不符合,也会有相应的提示。部分程序如下:else Toast.makeText(VideoPl

23、ayerActivity.this,很抱歉,您输入的文件不存在,请重新输入, Toast.LENGTH_LONG).show(); 设置窗口的像素格式、,实现按钮/public Window getWindow () 返回当前activity的window /void android.view.Window.setFormat(int format) /public void setFormat (int format) 设置窗口的像素格式 /PixelFormat.TRANSLUCENT 透明格式 getWindow().setFormat(PixelFormat.TRANSLUCENT);

24、 setContentView(R.layout.main); videoView=(VideoView)findViewById(R.id.video); editText=(EditText)findViewById(R.id.edittext); openButton=(Button)findViewById(R.id.starttoplay); openButton.setOnClickListener(new startlistener(); qiutButton=(Button)findViewById(R.id.quit); qiutButton.setOnClickListen

25、er(new qiutlistener(); mediaController=new MediaController(this);6设计总结在此次课程设计中,不仅了解到了android的有关知识,而且学习了Java语言以及eclipse等硬件环境。有几点需要特别注意:(1) 要明确课程设计的要求,想好系统应该包含哪些功能模块。否则,在软件设计的后期,再想添加新的功能就需要花费大量的时间。(2) 要对android系统有一定的了解。在软件设计过程中,大量的用到了android系统的四大组件:Activity(提供可视化的界面)、Service(运行在后台的服务程序)、Broadcast Rece

26、iver(广播事件处理机制)、Content Provider(使应用程序相互访问数据)。只有对这些组件熟练掌握后,才能够真正设计出稳健搞笑的多媒体播放器。(3) 要对Java语言熟练掌握。Android软件开发都是用Java语言写的,而Java又是由类组成的。而Java语言本身又含有众多机制,只有深刻理解这些机制后,才能轻松地实现自己想要的功能。(4) 要对界面设计有一定的了解。Android所有的布局都放在了res/layout中,而所有的菜单选项都放在了res/menu中。合理的布局对人性化的界面也是至关重要的。(5)要具备快速上网查资料的能力。面对从没接触过的知识,要有信心才是最重要的

27、。另外,网上的很多现成的资料都可借鉴、学习。在熟练理解了别人的应用程序的基础上,再做二次开发。还需要改进的地方:1. 播放器的播放界面设置较为简单,不够精美和方便,看过班上很多同学设计的播放器有些甚是完整,完全可以在手机上作为专门的媒体播放器使用,可以向他们学习,加以改进,使我们的作品也更完善;2. 只支持.avi,.mp3,.mp4格式的,还应支持.flv等其他格式的;3. 只能播放一个视频,以后还要扩展成能播放多个视频的;4. 播放音频文件时不能显示播放歌曲的歌词,这是一个较大的缺陷,在程序上可以进行补充和调整,对于下载的模拟器中一些功能的调用更全面,可以将之改进;5. 播放音频文件时不能

28、实现播放模式的选择。7设计收获1. 现学现做的能力。从图书馆借一些参考光盘,对某项容的原理大致了解后,直接运行它的源代码,先观察效果,给大脑直接的印象,然后再去理解程序。2. 团队协作意识。身为团队的一员,必须与自己的队友合作。尤其是刚开始做时,要将任务分配明确,还要定期监督各自的进度。3. 上网查资料的能力。网络是一个十分强大的信息工具。网上有大量的Android参考资料以及很多著名的Android论坛,这上面为我提供了大量的有用信息。尤其是碰到错误时,上网搜一搜,能很快找到解决办法。4. 英语阅读能力。因为很多资料都是起源于国外,而很多参考书也是英文的。此外,Android官网以及著名的A

29、ndroid论坛都是英文版,此外,具备一定的英语阅读能力也是非常重要的。5. 与同学间的交流探讨。此次我们团队为两个人,我们经常交流,有助于开拓自己的思维,取长补短,共同解决碰到的问题,这正是一个相互学习的过程。8 附录v VideoPlayerActivity.java:package Ld.videoPlayer;import java.io.File;import android.app.Activity;import android.graphics.PixelFormat;import android.os.Bundle;import android.view.View;import

30、 android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.MediaController;import android.widget.Toast;import android.widget.VideoView;public class VideoPlayerActivity extends Activity /* Called when the activity is first created. */VideoView

31、 videoView;private String fielname;MediaController mediaController;EditText editText;Button openButton;Button qiutButton; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); /public Window getWindow () 返回当前activity的window /void android.view.Window.setFormat(i

32、nt format) /public void setFormat (int format) 设置窗口的像素格式 /PixelFormat.TRANSLUCENT 透明格式 getWindow().setFormat(PixelFormat.TRANSLUCENT); setContentView(R.layout.main); videoView=(VideoView)findViewById(R.id.video); editText=(EditText)findViewById(R.id.edittext); openButton=(Button)findViewById(R.id.st

33、arttoplay); openButton.setOnClickListener(new startlistener(); qiutButton=(Button)findViewById(R.id.quit); qiutButton.setOnClickListener(new qiutlistener(); mediaController=new MediaController(this); /* File video=new File(/sdcard/re.mp4); /若文件被找到 if(video.exists() videoView.setVideoPath(video.getAb

34、solutePath();/文件绝对路径 videoView.setMediaController(mediaController);/设置videoView与mediaControler的关联 mediaController.setMediaPlayer(videoView); videoView.requestFocus(); */ class startlistener implements OnClickListenerOverridepublic void onClick(View v)/ TODO Auto-generated method stubfielname=editTex

35、t.getText().toString();System.out.println(fielname);/File video=new File(/sdcard/re.mp4);File video=new File(fielname); /若文件被找到 if(video.exists() videoView.setVideoPath(video.getAbsolutePath();/文件绝对路径 videoView.setMediaController(mediaController);/设置videoView与mediaControler的关联 mediaController.setMed

36、iaPlayer(videoView); videoView.requestFocus(); else Toast.makeText(VideoPlayerActivity.this,很抱歉,您输入的文件不存在,请重新输入, Toast.LENGTH_LONG).show(); class qiutlistener implements OnClickListenerOverridepublic void onClick(View v)/ TODO Auto-generated method stubfinish(); v Main.xml: v Strings.xml: 视频播放器 VideoPlayer18 / 18

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服