ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:588.15KB ,
资源ID:7908170      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Android系统的音乐播放器设计与实现.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Android系统的音乐播放器设计与实现.docx

1、基于Android系统的音乐播放器设计与实现 本科毕业设计(论文)题 目: 基于Android系统的音乐播放器设计与实现院 系: 计算机科学系 专 业: 计算机科学与技术 姓 名: 学 号: 指导教师: 教师职称: 填写日期: 2012年 月 日 摘 要当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉效果及用户体验,因此,也逐步的提高了对系统的要求。本文主要是在Android系统上对音乐播放器应用程序的设计与实现进行讨论,通过这一过程来进一步学习与应用Android平台,这样对个人的未来发展也很有意义。本论文的音乐播放器

2、采用了Android开源系统技术,利用Java语言和Eclipse开发工具对播放器代码进行编写。同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集下载、播放、暂停、停止等功能于一体,性能良好,在Android系统中能独立运行。MP3是一种声音文件的压缩格式,由于本播放器只限于应用层程序的探讨,所以对具体的压缩算法不做深究。实验证明,基于Android平台的软件开发简单,使用方便简洁,必将成为未来几年的发展方向,具有普遍意义。关键词:Android,音乐播放器,MP3AbstractTodays increasin

3、gly fast pace of life in society, with the hardware of mobile devices become increasingly sophisticated, people demand more and more mobile devices, high technology from the past to the present pursuit of the pursuit of visual and user experience, therefore, also gradually increased the system requi

4、rements. This article is in the Android system, music player application on the design and implementation to discuss the process through which to further study and application of Android, so the future development of personal sense. Music player of this paper uses Android open-source system technolo

5、gy, the use of Java language and Eclipse development tools for the preparation of the player code. At the same time gives a detailed system design process, some interface screenshots and the major function of flow, the paper also encountered in the process of development problems and solutions were

6、discussed in detail, the music player, set download,play, pause, stop and other functions, good performance, in the Android system can run independently. MP3 is a compressed audio file format, as the player is limited to the application layer of the program, so not to go into the specific compressio

7、n algorithm. Experiments show that, based on the Android platform, software development is simple, concise and easy to use, will become the development direction of the next few years, have universal significance. Keywords: Android, music player, MP3 第一章 引 言1.1 项目背景自2007年Google公司推出Android以来,一直受到人们的热

8、捧。Android是基于Linux内核的软件平台和操作系统,它包括移动电话工作所需的全部软件,而且不存在任何以往羁绊移动产业创新的专有权障碍,并迅速发展成为智能移动终端的操作系统。由于手机市场发展迅速,使得手机操作系统也出现了不同种类,现在的市场上主要有三个手机操作系统,Windows mobile,symbian,以及谷歌的Android操作系统,其中占有开源代码优势的Android系统有最大的发展前景。Android的开放性就优于其它封闭式的手机系统,因此,任何人都可以根据自己的爱好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。计算机应用越来越广泛,手机市场也日新月异

9、,各种音频、视频资源在网上广为流传,这些资源看似平凡,但是已经成为了人们生活中不可缺少的一部分了,于是各种手机播放器也紧跟着发展起来,但是很多播放器都是一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,在用户需要多任务操作时,受到不少影响,带来了许多不便。 那么能否在手机上拥有自己编写的个性音乐播放器呢?谷歌的Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。要研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别文件格式,分析各种编码方式的优缺点,以及各种播放器本身的缺点和特点,编写出功能实用,使用方便快捷的播

10、放器。1.2 编写目的现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放MP3文件格式的播放器,并且可以从服务器下载歌曲,控制播放,暂停,停止,音量调节,播放列表和歌曲文件的管理操作等多种播放控制功能,界面简明,操作简单。本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更加生动灵活化,与人们更为接近,让手机主人随时随地处于音乐旋律之中。使人们的生活更加多样化,也使设计者更加熟悉基于Android平台的应用布局及开发模式的特点,为以后实现更复杂的应用打好基础。第二章 Android应用软件开发基础

11、2.1 Android简介Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android平台五大优势特色:1、开放性2、挣脱运营商的束缚3、丰富的硬件选择4、不受任何限制的开发商5、无缝结合的Google应用图2-1 Android 软件体系结构图Android作为一个移动设备的平台,其软件层次结构包括了一个操作系统(OS),中间件(M

12、iddleWare)和应用程序(Application)。根据Android的软件框图,其软件层次结构自下而上分为以下几个层次:第一、操作系统层(OS)第二、各种库(Libraries)和Android 运行环境(RunTime)第三、应用程序框架(Application Framework)第四、应用程序(Application)2.2 Android应用软件开发的核心技术2.2.1 Android应用开发语言Java是Android上的主流开发语言,各种支持也最完善。Android发布的API和SDK也都主要是面向Java开发人员的。我们的播放器实例也是用Java开发的。2.2.2 And

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

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

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

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

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

18、数据。其它应用程序在需要使用这些数据时,可以用ContentResolver对象,使用其中的方法。ContentResolver可以与任何content provider交互,获取其中的数据。只要需要某个组件,Android就会尽力保证它的可用:如果该组件还没启动,就启动它,如果该组件所属的应用程序还没拥有一个进程,则为它启动一个进程,如果系统资源不足以容纳一个新的进程,则将后台的某个进程杀死为新进程腾出资源。2.2.3 Intent介绍所谓Intent,就是一种运行时的绑定机制在应用程序运行时连接两个不同的组件。一般的应用是通过Intent向Android系统发出某种请求,然后Android

19、系统会根据请求查询各个组件声明的IntentFilter,找到需要的组件并运行它。前面介绍的Activity、Service及BroadcastReceiver组件之间的通信全部使用的是Intent,但是各个组件使用的Intent机制不同。2.2.4 AndroidManifest.xml文件AndroidManifest.xml是每一个应用都需要的文件, 位于应用根目录下,它 描述了程序包的全局变量, 包括暴露的应用组件(activities, services等等)和为每个组件的实现类, 什么样的数据可以操作,以及在什么地方运行。AndroidManifest.xml文件是一个结构化的XM

20、L文件,它除了包含有各个组件的信息,还包括许多其它的信息,它的基本样式如下所示: . . . 不难看出,name,icon,lable这些属性就分别指activity的名称、图标、标识。我们通过manifest描述程序的信息,Android系统就能读取出来并产生相应的行为。第三章 搭建Android开发环境3.1 计算机配置开发Android应用所用到的开发工具较占内存,尤其是模拟器。官方并未给出最低配置要求,根据个人实际体会,在本人Intel Core i7-2630QM 四核处理器及8G内存的情况,能流畅使用。另外还需有600MB以上的剩余磁盘空间(官方文档中的说明)。3.2 安装JDK由

21、于Android开发是基于Java的基础上的,所以我们必须得安装JDK(JDK下载地址:1.右击计算机-属性-高级系统设置-高级-环境变量,新建“系统变量”,设置变量名:“java_home”。变量值: “C:Program FilesJavajdk1.7.0_02”(视个人安装路径而定)。2.找到变量名为path的项,双击,在变量值后面添加:“;%JAVA_HOME%bin;”,3.新建“系统变量”变量名:“classpath”,变量值:“.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;” 配置完成后,重启可以在cmd下输入java或者javac

22、测试。3.3 安装EclipseEclipse是我们以后在Android开发时使用的开发平台,它集成了很多功能以及插件,在开发的过程中便于我们使用,在官网(http:/www.eclipse.org/downloads/)可以下载到对应系统以及功能的安装包,在安装提示安装完成后并且完成了JDK的安装后即可正常使用。3.4 安装SDKSDK(Software Development Kit)初始包中有开发Android程序所要用到的工具,它包括了从编译到运行Android应用程序所需要的各种工具。安装时可以根据自己的需求选择安装相应的版本。(SDK下载地址:3.5 安装ADT按照2.3.4安装完

23、SDK初始包后,就可以开始开发Android应用程序了,但是为了更高效地进行开发,Android团队推出了Android Development Tools (ADT) 。ADT是目前开发Android应用最有效的工具,它是一个Eclipse插件,支持Eclipse 3.4及3.4以上的版本。以Eclipse 3.5 (Galileo)为例,安装过程如下:1.打开Eclipse,选择 Help Install New Softare。2.在Available Software 对话框中,点击Add.。3.在弹出的Add Site 对话框中,任意填写一个名字到Name一栏。在Location一栏

24、,则填入这一URL:“https:/dl-4.返回到Available Software 窗口后,就能看到列表中出现了Developer Tools ,选中它前面的复选框,再点击“Next”,就会开始下载安装ADT的各种组件了。5.安装完毕后将弹出窗口显示ADT相关的各种信息以及许可协议,点击“Finish“即可完成安装。6.重新启动Eclipse。3.6 设置Eclipse1.选择Window Preferences. 打开偏好设置2.从左侧边栏中选择Android一栏。3.单击SDK Location一栏边的Browse按钮,选择刚刚下载的SDK保存的路径。4.点击Apply,OK,设置生

25、效。至此,Android的开发环境就已经搭建完毕,可以使用了 。3.7 创建AVD在安装好JDK,Eclipse,SDK,ADK之后我们就可以进行Android项目开发了,但是在开发的过程中我们经常需要运行、调试我们所开发的软件,这就需要用到AVD(Android Virtual Device),也就是Android虚拟机。1.打开Eclipse。2.点击Opens the Android Virtual Device Manager图标按钮。3.在弹出的窗口中点击New新建一个Android虚拟机。4.在弹出的新建虚拟机窗口中Name一栏填上虚拟机的名称(一般与虚拟机的版本号相同,便于区分)

26、。5.在Target一栏选择一个Android虚拟机版本(如Android2.2或Android2.1)。6.在SD Card下的Size一栏填上我们要设定的SD卡容量大小。7.点击Create AVD,这样我们的一个Android虚拟机就创建好了。第四章 系统需求分析4.1功能需求分析根据项目的目标,我们可获得项目系统的基本需求,一下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,播放器的基本控制需求。以下分别描述:4.1.1播放器的基本功能图4-1 播放器基本控制图在播放器运行时,主界面是服务器的歌曲列表,可以点击刷新列表,也可以点击歌曲名,开始下载歌曲,然后点击本地歌曲

27、列表可以显示出本地的歌曲文件,点击文件名则跳转到播放界面,在播放界面可以控制歌曲的播放、暂停、停止以及返回本地歌曲列表。4.1.2功能需求时序分析图4-2 音乐播放器的时序图从以上时序图可以看到播放器中消息发送及调用过程。4.2系统结构流程图图4-3 音乐播放器系统流程图以上显示了播放器的各个流程。4.3系统界面需求播放器界面要求布局合理,简约,颜色舒适,控制按钮友好,能让用户一眼就能看出各个按钮的作用及操作方法。能实现要求的功能,但又不重复。要考虑到不同手机屏幕大小可能不一样,应尽量兼容大多数手机屏幕尺寸,使之显示无障碍。4.4开发环境操作系统:Windows7 x64。开发环境:Eclip

28、se Version: Indigo Service Release 1 ADT Version: 16.0.1运行环境:Android 2.2第五章 音乐播放器详细设计与实现5.1播放器界面设计首先是创建一个主界面MainActivity,它使用TabHost布局,这里面的TabWidget控件控制着两个Activity的互相切换:一个是Mp3PlayerListActivity(图5-1),这个Activity是一打开程序就显示的服务器歌曲列表。图5-1 Mp3PlayerListActivity另一个是LocalActivity(图5-2),这个Activity是点击TabWidget控

29、件中的“本地”按钮才会显示的本地歌曲列表界面。图5-2 LocalActivity在LocalActivity中点击列表中的歌曲名就会调出PlayerActivity(图5-3),这个Activity就是播放音乐时的界面,其中有一些对播放器进行控制的控件。图5-3 PlayerActivity详细设计代码见附录。5.2获取并解析XML文件因为打开播放器首先就要刷新服务器上的歌曲列表,那么我们就得获取服务器上的歌曲列表文件,即XML文件。实现代码如下:/ 根据URL下载文本文件,必须是文本文件,因为返回值是文本中的字符 public String download(String urlStr)

30、StringBuilder sb = new StringBuilder(); String line = null; BufferedReader buffer = null; try / 创建一个URL对象 URL url = new URL(urlStr); / 创建一个http连接 HttpURLConnection urlConn = (HttpURLConnection) url .openConnection(); / 使用io读取数据 buffer = new BufferedReader(new InputStreamReader( urlConn.getInputStream(); / 一行行的读取数据 while (line = buffer.readLine() != null)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1