Android音乐播放器代码毕业论文正稿

上传人:仙*** 文档编号:103693965 上传时间:2022-06-09 格式:DOC 页数:29 大小:134.50KB
收藏 版权申诉 举报 下载
Android音乐播放器代码毕业论文正稿_第1页
第1页 / 共29页
Android音乐播放器代码毕业论文正稿_第2页
第2页 / 共29页
Android音乐播放器代码毕业论文正稿_第3页
第3页 / 共29页
资源描述:

《Android音乐播放器代码毕业论文正稿》由会员分享,可在线阅读,更多相关《Android音乐播放器代码毕业论文正稿(29页珍藏版)》请在装配图网上搜索。

1、. . .XXX大学 12 届学生毕业论文/设计题 目:Android音乐播放器姓 名: X同学 系 别:信息工程院专 业:计算机应用技术班 级: 08计算机应用一班指导老师:林X日 期: 20XX05月13号独 创 性 声 明本人声明所呈交的毕业论文是本人在指导教师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得XX科贸职业学院或其他教育机构的证书而使用过的材料。与我一同工作的同志对本论文所做的任何贡献均已在论文中作了明确的说明并表示谢意。论文作者签名: X同学 签字日期:2012 年 05月13

2、 日基于Android开发音乐播放器的设计摘 要 当今社会发展越来越快,特别是IT方面的。人们对软件设备的要求也越来越高,本文主要是在Android系统上对音乐播放器应用程序的设计与实现进行讨论,通过这一过程来进一步学习Android平台,这样对个人未来发展有很大的意义。 本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse开发工具对播放器代码进行编写。同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、上一首、下一首、歌词显示等功能于一体,性能良好,在Androi

3、d系统中能独立运行。对于播放歌曲的文件,本播放器只限于应用层程序的探讨,所以对具体的文件不做深入研究。 实验证明,基于android平台的软件开发简单,使用方便简洁,必将成为未来几年的发展方向,具有普遍意义。关键词: Android,Java,Eclipse,音乐播放器 25 / 29. . .目 录1.前 言12系统需求分析22.1功能需求2播放器的基本控制需求2功能需求时序图分析32.2 系统结构图和流程图42.3系统界面需求42.4系统性能需求52.5运行环境需求53 Android项目介绍63.1什么是Android6的介绍63.1.2 Android Features 特性:63.1

4、.3 Android 基本框架Android Architecture73.2 Android应用软件开发的核心技术103.2.1 Android 应用开发语言103.2.2 Android 应用程序组件103.3 Android开发环境的搭配133.4 Android模拟器中sd卡的创建和文件的上传153.4.1 SD卡的创建15向sd卡里面上传文件及异常解决164音乐播放器的详细设计174.1 播放器的欢迎界面和主界面的设计和说明174.2 Android媒体播放原理204.3 播放功能实现细节215软件测试225.1 软件的测试22软件测试的环境22测试阶段226结论25致谢26参考文献

5、36. . .1.前言当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统,Windows mobile,symbian,以及谷歌的Android操作系统,其中占有开发源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。Android:是谷歌于20XX公布的开放式源代码手机系统,一直受到人们的热捧。Android是基于Linux内核的软件平台和操作系统,它开放性就

6、优于其他封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于Android平台的。随着计算机的广泛运用,手机市场的迅速发展,各种音频资源也在网上广为流传,这些资源卡是平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味最求外观花俏,功能庞大,对用户的手机造成很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频播放器,

7、将各种性能优化,继承播放器的常用功能,满足一般用户听歌的需求。现今社会生活紧张,而欣赏音乐史其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放MP3等音乐文件,并且能够控制播放器播放,暂停,停止,上一曲,下一曲。界面简单,操作简单。本项目是一款基于Android手机 平台的音乐播放器,使Android手机拥有个性的播放器,让手机主人随时随地处于音乐的旋律中。使人们的生活更加多样化。也使设计者更加熟练Android的技术和其它在市场上的特点。2系统需求分析2.1功能需求2.1.1播放器的基本控制需求根据项目的目标,我们可获得项目系

8、统的基本需求,一下从不同的角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。播放暂停停止上一曲下一曲 图2.1 播放器基本控制图 在播放器正在运行时,用户单击播放按钮,播放器将播放选中的播放列表中的音乐,并同时显示当前进度;当歌曲未暂停或停止时,用户单击暂停按钮,播放器将进入暂停状态;播放器正在播放或暂停时,用户单击停止按钮,播放器将停止播放或暂停时,用户点击上一首或者下一首按钮,播放器将播放上一首或下一首歌曲。2.1.2功能需求时序图分析从时序图中可以看出播放器中信息发送和调用过程主

9、界面播放列表播放界面点击进入按钮选择歌曲播放进入播放列表播放后台serviceServic播放页面发送参数,调用后台service播放,返回播放界面图2.2 音乐播放器的时序图2.2 系统结构图和流程图主界面是否显示全部音乐播放列表是否点击要播放的歌曲音乐播放程序结束图2.3 音乐播放器系统流程图2.3系统界面需求播放器界面要求布局合理,简约,颜色舒适,控制按钮友好,能让用户一眼就能看出各个按钮的作用及操作方法。能实现要求的功能,但又不重复。要考虑到不同手机屏幕大小可能不一样,应尽量兼容大多数手机屏幕尺寸,使之显示无障碍。2.4系统性能需求根据Android手机系统要求无响应时间为5秒,所以就

10、有如下性能要求:1、 当要求歌曲播放时,程序响应时间最长不能超过5秒2、 当要求歌曲暂停时,程序响应时间最长不能超过5秒3、 当要求歌曲停止时,程序响应时间最长不能超过5秒4、 当要求歌曲上/下一首时,程序响应时间最长不能超过5秒5、 界面切换响应时间最长不能超过3秒2.5运行环境需求操作系统:Windows xp支持环境:Android 2.1版本开发环境:Eclipse 3.5 ADT 0.953Android项目介绍3.1什么是Android3.1.1Android的介绍Android一词的本义指机器人,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统

11、的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android是基于Linux内核的软件平台和操作系统,早期由Google开发在华注册商标名为安致,后由开放手机联盟Open Handset Alliance开发。它采用了软件堆层software stack,又名以软件叠层的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其他几十个手机公司建立开发手机联盟。Android在未公开之前常被传闻为Google电话或g

12、Phone。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。到了20XX1月,Google开始发表自家品牌手机电话的Nexus One。3.1.2 Android Features 特性:Android 系统有如下的几大特性1. 应用程序框架 支持组建的重用与替换2. Dalvik 虚拟机 专门为移动设备做了优化3. 内部集成浏览器 该浏览器基于开源的WebKit引擎4. 优化的图形库 包括2D和3D图形库,3D图形库基于OpenGl ES5. SQLite 用作结构化的数据存储6. 多媒体支持 包括常见的音频、视频和静态印象文件格式如MPEG4,H.264,MP3,A

13、AC,AMR,JPG,PNG,GIF7. GSM电话 依赖于硬件8. 蓝牙Bluetooth,EDGE,3G,安定WIFI依赖于硬件9. 照相机,GPS,指南针,和加速度计依赖于硬件10. 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件3.1.3 Android 基本框架Android Architecture图3.1 Android Architectureandroid 软件结构图其软件层次结构自上而下分为以下几个层次第一、 应用程序Application第二、 应用程序框架Application Framework第三、 各种库Librar

14、ies和Android运行环境RunTime第四、 操作系统层(1) ApplicationApplication Android 会同一核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是用JAVA编写的。(2) Application FrameWork 开发者完全可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其他的应用程序都可以使用其所发布的功能块不过的遵循框架的安全性限制。该应用程序重用机制使得组件可以被用户替换。所有的应用程序都由

15、一系列的服务和系统组成,包括:a 可扩展的视图Views可以用来建应用程序,包括列表lists,网格Grids,文本框Text boxes,按钮button,甚至包括另一个可嵌入的web浏览器。b 内容管理器使得应用程序可以访问另一个应用程序的数据如联系人的数据库,或者共享它们自己的数据。c 资源管理器Resource Manager提供非代码资源的访问,如本地字符串,图形,和分层文件Layout Files。d 通知管理器Notification Manager使得应用程序生可以在状态栏中显示客户通知信息。e 活动类管理器Activity Manager用来管理应用程序生命周期并提供常用的导

16、航回退功能。(3) Libraries库Android包括一个被Android系统中各种不同组件所使用的C/C+库集。该库通过Android应用程序框架为开发者提供服务。(4) Android RuntimeAndroid包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMS来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SD

17、K中的dx工具转化成.dex格式由虚拟机执行。 Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。(5) Linux内核Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议和驱动模型。Linux内核也同时作为硬件和软件堆栈之间的硬件抽象层。3.2 Android应用软件开发的核心技术3.2.1 Android 应用开发语言JAVA是Android上的主流开发语言,各种支持也最完善。Android发布的API和SDK也都主要是面向JAVA开发人员的。我的播放器实例也是用JAVA开发的。3.2.2 Android 应用程序组件A

18、ndroid 应用程序最大的一个特点就是每个应用都由若干组件构成。而且各个应用程序的组件还可以相互调用需要在代码中设置相应权限。例如假设我们需要编写一个内嵌于网页的程序,那么我们无需亲自编写浏览器,而是可以直接调用系统自带的Chrome Lite浏览器组件。又如假设我们编写了两个应用程序,其中一个程序中有列表显示图标的组件,那么我们在另一个应用程序中就可以使用该组件,而不需要在编写该功能。也就是说,不同于我们平常编写的程序,Android的应用程序不是单一入口,而是可以从代码的不同位置启动。这就要依靠组件来实现。Android应用程序的组件有以下四种:1. Activities一个Activi

19、ty实际上表现出来的就是一个程序的界面。这个界面可能有许多不同的形式,比如有列表形式,有文字形式,有图像格子等形式。一个应用程序也可能有不止一个Activity。比如一耳光短消息的程序,需要有列表显示所有消息的Activity,还至少需要一个编辑短信的Activity,还可能需要设置、菜单等界面。每个Activity都有一个默认的窗口用于绘制界面,一般情况下,它是充满全屏的,但是我们可以通过程序控制它,使其小于屏幕大小,也可以控制其浮动于其他窗口之上如Android中的Toast信息。Activity中显示出来的内容其实是由view堆叠形成的,view是由View基类派生出来的各种形式的界面元

20、素,如ListView,GridView等等,通过组合这些view,就形成了一个可见的Activity。我们可以用Activity.setContentView方法来设置一个Activity中所要显示的view。2. ServicesService是一种没有界面的组件,同我们平常在Windows或Linux系统中所理解的服务一样,Android上的service也是运行在后台的,运行时间可以从系统启动到系统关闭为止。对于许多应用程序来说,service组件式至关重要的。以下载管理器为例,用户肯定希望能够在切换到其他程序时仍然在后台继续下载,这就需要用到service完成下载工作。而显示下载进度

21、、已下载文件等信息则由Activity完成,同时我们还希望控制下载过程,如停止、继续等,这就需要Activity与service之间进行通信。Android允许activity连接到或者绑定到service上,这样就可以让用户在界面上控制后台service的行为。3. Broadcast receiversBroadcast意为广播消息,Android系统自身会发出许多广播消息,如电量不足,用户修改了全局设置等,各个应用程序也以向整个系统广播消息,如文件下载。Broadcast receiver则是程序中专门用来接收广播消息的组件,它没有界面显示,只负责监听、接收广播消息,然后根据程序逻辑,启

22、动其他组件去处理广播消息。它可以启动一个Activity来同用户交互,也可以使用NotificationManager向用户发出通知。NitificationManager的 通知形式有许多种,不如说振动、响铃、闪LED灯,还可以在Android界面的消息栏处显示信息。4. Content providersContent provider是一种为其它应用程序提供数据的组件。这些数据可以保存在文件中,也可以保存在SQLite数据库中,还可以以其他任何有效的方式保存。ContentProvider类为我们提供了一系列保存数据的方法供我们调用,可以很方便地存储数据。其它应用程序在需要使用这些数据时

23、,可以用ContentResolver对象,使用其中的方法。ContentResolver可以与任何contentprovider交互,获取其中的数据。只需要某个组件,Android就会尽力保证它的可用;如果该组件还没有启动,就启动它,如果该组件所属的应用程序还没拥有一个进程,则为它启动一个进程,如果系统资源不足以容纳一个新的进程,则将后台的某个进程杀死为新进程腾出资源。3.3Android开发环境的搭配任何事物要运行,都要有它的环境,Android也有它的环境才能够运行,下面介绍Android的开发环境配置.搭建开发环境需要的软件:操作系统:Windows XP或Linux软件包:Andro

24、id SDK 、ADTIDE环境:Eclipse IDE+ADT Eclipse3.3以上JDK:Java Runtime Environment虚拟机 、Java Development kit安装步骤如下:第一步:安装Java虚拟机sun-java6-jdk版本ownloads/选择版本图4.2:进行安装图 3.2 第三步:安装Android SDK:首先要下载SDK,可以在这个网址下载Http:/ ,选择相应的系统进行安装图 3.3 第四步:安装Android ADT插件运行Eclipse,选择help-install new software 选择add,将会弹出一个框图 3.4 点击

25、OK,选择要安装的软件,占next,然后选择接受协议,直到安装成功,重启Eclipse软件,设置Android SDK Home,Window-refrence图 3.5 在SDK location中输入SDK Tools路径:D:android softwareandroid-sdk-windows 点击OK这样Android环境就已经搭建成功了。3.4 Android模拟器中sd卡的创建和文件的上传在Android模拟器中,初始时没有sdcard的,为了存放音乐文件,需要自己创建sdcard,我们先来看看如何创建sdcard以及文件上传。3.4.1 SD卡的创建通过Android的Tool

26、s来创建sd卡并导入进来1. 打开dos,windows+R键打开。转换到你的sdk安装包的tools目录下,如我的目录如下:E:android-sdk-windowstools2. 创建sd卡。在命令行中输入:mksdcard 1024ME:androidsdcardsdcard.img这个1024M就是我们要创建的SD卡的大小,还是根据自己的需要来输入,最后面的那个E:androidsdcardsdcard.img就是所设置的SD存放路径,这里也可以根据我们自己的需要改变路径的,但要注意路径中不能有空格出现3. 在Eclipse里面创建模拟器,并以该SD开来创建4. 创建完成之后,启动该模

27、拟器。可以在AndroidSDK and AVD Manager 里面指定模拟器并启动。5. 同样打开Eclipse的DDMS-FileExplorer 查看sd卡是否安装成功。3.4.2向sd卡里面上传文件及异常解决右边两个小手机按钮就是传输文件的按钮了,用它来实现文件的传入和传出了,向左的表示把手机里的文件导出,向右的表示把文件导入到手机里面去。这里和容易出现异常。异常如下:异常一:Failed to push selection:Invalid argument出现此异常,多半是文件所在的目录里面有中文或者文件的名字是中文导致的。建议修改一下试试。还有就是观察自己的操作权限是不是不够,如

28、果是,drwxrx 那就是可以的。如果,sd卡是在eclipse里面系统自动创建的,试着重启一下IDE。异常二:Failed to push the items出现这个异常是因为传输超时造成的。可以修改。 打开windowsPreferenceandroidDDMS 把ADB connection tine out 项的超时时间改大点。4音乐播放器的详细设计4.1播放器的欢迎界面和主界面的设计和说明Android的每一个可视化界面,都有其唯一的布局配置文件,该文件里面有各种布局方式,各种资源文件如图像,文字,颜色的引用,程序在运行时,可以通过代码对配置文件进行读取。这样就可以形成不同的可视化界

29、面和绚丽的效果。欢迎界面布局文件内容如下:此处的按钮用于进入播放器的主界面此处的按钮用于退出程序此处的TextView用于显示我的播放器欢迎界面为:主界面布局文件内容如下:此处的ListView作用为列出歌曲此处的Button用于上一曲此处的Button用于停止此处的Button用于播放此处Button用于暂停此处的Button用于下一曲主界面为:4.2 Android媒体播放原理Android源程序已经为我们封装了一个接口类,叫MediaPlayer。该接口在执行前需要一个数据源,通过如下四个步骤: 第一步:MediaPlayer.reset; 复位操作,为以后的媒体准备播放做准备。 第二步

30、:传入歌曲数据源,这里也是一个数据源:MediaPlayer.setDataSource;参数需要一个路径,该接口类在收到路径后将其转化为数据源。 第三步:准备播放数据源,调用MediaPlayer.prepare; 第四步:MediaPlayer.start;播放数据源,该数据源播放后,不再于程序有关,需要调用MediaPlayer.stop方法让其停止或MediaPlayer.start;让其启动。4.3 播放功能实现细节为了实现音乐播放器的基本功能:音乐播放、暂停、停止、上一首、下一首。这里我用事件监听,详细请见附录。5软件测试5.1 软件的测试一个程序并不可能达到十分完美,难免存在一些

31、错误。如果不能及时将其找出并修改,会造成系统崩溃并造成不必要的损失。通过软件测试,尽可能多的找出系统中的错误,以便于及时修改。软件测试的环境 1、软件测试的性能要求软硬件要求:系统环境 winXP;硬件系统环境 P4 2.4、1024MB内存、80G硬盘。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其他软件几乎没有依赖性,程序健壮性较好。 2、测试建立一张模拟的SD卡,上传歌曲文件;分别测试其的播放、暂停、停止、上/下一首的功能是否有用。 3、软件测试的评价软件功能评价:此软件各模块都能实现各自的功能,基本符合播放音乐的要求。 结论:此软件是可行的。5.1.2 测试阶段

32、软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。按照软件测试的策略和过程分类,软件测试可分为单元测试、集成测试、确认测试、系统测试和验收测试。它们被依次顺序地执行,如图5-1所示:图 5-1 软件测试分级模型1、单元测试单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩

33、模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。 一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。2、集成测试集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。在此采用自顶向下策略,从网站主页开始进入,测试每个模块之间的联系是否合理,如前台展示与后台管

34、理的接口等。3、确认测试确认测试又称有效性测试。它的任务是验证软件的有效性,即验证软件的功能和性能及其它特性是否与用户的要求一致。在软件需求规格说明书中描述了全部用户可见的软件属性,其中有一节叫做有效性准则,它包含的信息就是软件确认测试的基础。4、系统测试系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的先知者问题。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。5、验收测试验收

35、测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。这是软件在投入使用之前的最后测试。6结论本文通过本系统设计与开发,从而得出下列结论:1、学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它。2、一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处。3、要想吸引更多的用户,系统的界面必须要美观、友好,功能要健全。不过由于经验不足,我设计的图形界面比较简单。只是对基本功能进行了开发。4、本次开发,我参考了很多本系统的例子,吸取了一些别的本系统的长处,对自己的毕业设计进行了完善,但是还有很多的不足之处,有待以后进一步学习。本文所制

36、作的系统界面友好、使用灵活、操作简单、功能齐全、表现方式独特,已基本具备了成熟的技术理论。6、 由于时间仓促,本次设计由我完成本系统的制作,对我这样一个JSP新手而言所制作的模块还有不完善的地方。由于是独立完成,在毕业设计的过程遇到了很多的困难,我求教了不少老师和同学,在这个过程中让我体会到了,一个团队的重要性。通过对Android手机平台的音乐播放器的开发,使我对Android系统从零进入到了一个比较高的层次的了解,Android功能是如此强大,令人不得不佩服。在实现播放器的基本功能是,一开始我是不知道要用什么来做了,直到问了同学和查看书籍资料,才知道用了一个监听的方法解决掉。7、 因为自己

37、对Android的掌握不是很好,播放器不够完善,有些地方还有些不合理的地方,比如歌词方面,这需要改善,有待以后去加强。致 谢在本次毕业论文过程中,得到了指导老师的指导与支持。在此特别感谢指导老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业论文起到了关键性的作用。通过开发本系统,我较全面的掌握了android基本知识和编程技巧,并在开发过程中我的java开发能力得到了进一步的提高。在开发过程中我学到了一些经验:系统分析的好坏将决定着的系统开发成功与否,

38、一份好分析设计将是成功开发主要因素。我们在着手开发之前不要急于编程,先应有较长的时间去把分析做好,写出相关的开发文档等。然后再开始编写程序代码,这样做到每写一步代码心底有数,有条不絮。当然也有些还需待继续深入地方如:歌曲方面的问题等等。附 录package com.terry;import java.io.File;import java.util.ArrayList;import java.util.List; Activity;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionList

39、ener;import android.os.Bundle;import android.view.KeyEvent;import android.view.View;import android.view.View.OnClickListener;r;import android.widget.Button;import android.widget.ListView;import android.widget.Toast;public class musicActivity extends ListActivity /播放对象private MediaPlayer myMediaPlaye

40、r;/播放列表private List myMusicList=new ArrayList;/当前播放歌曲的索引private int currentListItem=0;/音乐的路径private static final String MUSIC_PATH=new String; /* Called when the activity is first created. */ Override public void onCreate super.onCreate; setContentView; myMediaPlayer=new MediaPlayer; findView; music

41、List; listener; /绑定音乐 void musicList File home=new File; ifhome.listFilesnew MusicFilter.length0 forFile file:home.listFilesnew MusicFilter myMusicList.addfile.getName; ArrayAdapter musicList=new ArrayAdapter ; setListAdapter; /获取按钮 void findView viewHolder.start=findViewById; viewHolder.stop=findVi

42、ewById; viewHolder.next=findViewById; viewHolder.pause=findViewById; viewHolder.last=findViewById; /监听事件 void listener /停止 viewHolder.stop.setOnClickListenernew OnClickListener Overridepublic void onClick / TODO Auto-generated method stubifmyMediaPlayer.isPlayingmyMediaPlayer.reset; /开始 viewHolder.s

43、tart.setOnClickListenernew OnClickListener Overridepublic void onClick / TODO Auto-generated method stubplayMusicMUSIC_PATH+myMusicList.get; /下一首 viewHolder.next.setOnClickListenernew OnClickListener Overridepublic void onClick / TODO Auto-generated method stubnextMusic; /暂停 viewHolder.pause.setOnCl

44、ickListenernew OnClickListener Overridepublic void onClick / TODO Auto-generated method stubifmyMediaPlayer.isPlayingmyMediaPlayer.pause;elsemyMediaPlayer.start; /上一首 viewHolder.last.setOnClickListenernew OnClickListener Overridepublic void onClick / TODO Auto-generated method stublastMusic; /播放音乐 v

45、oid playMusic try myMediaPlayer.reset;myMediaPlayer.setDataSource;myMediaPlayer.prepare;myMediaPlayer.start;myMediaPlayer.setOnCompletionListenernew OnCompletionListener Overridepublic void onCompletion / TODO Auto-generated method stubnextMusic; catch / TODO: handle exceptione.printStackTrace; /下一首

46、 void nextMusic if=myMusicList.size currentListItem=0; else playMusicMUSIC_PATH+myMusicList.get; /上一首 void lastMusic if if=0 currentListItem=myMusicList.size; else playMusicMUSIC_PATH+myMusicList.get; else playMusicMUSIC_PATH+myMusicList.get; /当用户返回时结束音乐并释放音乐对象 Overridepublic boolean onKeyDown / TOD

47、O Auto-generated method stub if myMediaPlayer.stop; myMediaPlayer.release; this.finish; return true; return super.onKeyDown; /当选择列表项时播放音乐 Overrideprotected void onListItemClick / TODO Auto-generated method stubcurrentListItem=position;playMusicMUSIC_PATH+myMusicList.get; 参 考 文 献1. 专著:M作者:余志龙 陈昱勋 郑名杰 陈小凤 郭秩均.书名M:Google Android SDK开发范例大全第二版.出版地:北京出版社:人民邮电出版社出版年份:20102.网络资料:参考播放功能和SD卡的资料

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!