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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于android的音乐播放器的设计.docx

1、基于android的音乐播放器的设计齐 齐 哈 尔 大 学毕业设计(论文)题 目 基于android的音乐播放器的设计 学 院 通信与电子工程学院 专业班级 通信工程091班 学生姓名 田 浩 指导教师 赵 岩 成 绩 良 好 2013年 6 月 15 日摘 要当今社会发展越来越快,人们对手机软件设备的用户体验要求越来越高,本文主要是对Android系统上对音乐播放器应用程序的设计与实现进行讨论,通过这一过程的设计和论证对手机平台播放器以后的研发有很大意义。本文的音乐播放器使用开源的Android平台,使用Java语言和开发工具Eclipse对音乐播放器代码进行编写。通过设计能够实现音乐的播放

2、、暂停、上一曲、下一曲、音乐列表、声音控制、退出菜单、播放模式等功能,通过对基于Android平台下的播放器的设计,了解音乐播放器的设计原理和实现的相关技术,掌握Android编程思想以及基本的应用组件,对以后从事Android开发有很大的帮助。研究表明,基于Android平台的应用软件开发快捷简单,用户体验良好,必将成为未来移动互联网时代的风向标。关键词:安卓;音乐播放器;应用程序 AbstractTodays society is developing faster and faster, people software for mobile devices are increasingl

3、y demanding the user experience, this article is mainly on music player applications on the Android system design and implementation are discussed, through the design and demonstration of this process on the mobile platform player development has great significance in the future. This music player u

4、ses the open source Android platform using the Java language and the Eclipse tools for writing music player code. The design can realize the music play, pause, a song, the next song, music, sound control, exit the menu, playback and other functions, on the basis of design under the platform of Andro

5、id player based on the design principle, understand the music player and related technology, master Android programming ideas and the application of the basic components, after the Android engaged in the development of great help in the future. Research shows that based on the Android platform appli

6、cation development quick and easy, the user experience is good, will become the future mobile Internet era of the citizenry.Key words: Android;music player;application第1章 绪论1.1 选题依据、研究的目的及意义Android播放器是近几年来智能手机当中比较流行的音乐播放软件。利用以前学习过的各种编程知识来设计和开发一款基于Android平台的音乐播放器,还能深入学习Android的程序框架结构,从而进一步学习Android的基

7、础知识和理论,了解手机软件的开发流程,掌握Android应用程序的开发技巧,充实自己的世界观价值观。Android平台是一个完全开放的手机平台,智能手机中的各种应用软件也越来越完备。智能手机操作系统的研究和它的发展已成为当前最活跃的领域1。在Android平台设计和开发一款音乐播放器可以摆脱不能随意安装在非智能手机的因素,并且具有很广阔的应用前景。当前音乐播放器由于手机内存和cpu处理能力的限制,在音乐播放、收集、推荐、操作和管理存在技术瓶颈,下一代音乐播放器应该使用云空间,记录用户的使用习惯,将音乐的播放,搜索等功能全部交给云端来处理,这样网络为用户提供互联网资源更庞大,还可以定制服务,管理

8、也更加简单。而近年来出现用户体验良好的Android智能手机系统恰好能作为下一代播放器平台。只有音乐播放器客户端软件的不断创新发展,未来人们欣赏音乐的用户体验才会更好。所以开发一款好的音乐播放器在现在和未来都具很大的实用价值。1.2 国内外的研究现状随着科技的快速发展,数码电子设备基本上都含有MP3播放的功能。媒体播放器的发展有两个趋势。首先,支持多样化格式,如常见的音频格式WMA格式、MP3格式、MIDI格式等。这些格式如何能够完美的播放,是现如今研究的一个主流方向。其次一个必要的趋势就是播放器的可扩展性,现如今音乐播放器的功能越来越多,用户体验越来越好,如何能让播放器的功能比现有的更加完备

9、,也是占领用户群的一个因素。由于Android基于Linux内核且具有开源、免费的特性,为播放性能的提升提供了更加便利的条件2。Android平台的开放性,可以不仅推动了技术创新(包括平台本身),也有利于降低开发成本,让制造商定制的特点产品很容易。因此,它有一个大的市场潜力3。目前Android开发在国内外主要都是开发应用,分成3类:为大客户开发App、开发通用App(放到安卓市场或者其他App市场下载销售)以及游戏开发(同样放到安卓市场或者其他App市场销售,目前从事游戏开发的人员也是占比例最大的)。第一类开发者一般是比较专业的大公司,这些公司主要为大客户设计定制App以及提供其所需要的总体

10、解决方案。他们除了会根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。第二类开发者,一般是创业型公司或者是个人开发者,他们的盈利方式一般是2种:为国外客户做外包软件开发或者通过Google的移动广告(AdMob),用户点击广告分成。而在理论上的通过付费下载的方式来盈利的,现在国内少有成功者。第三类开发者目前和第二类开发者类似。第2章 Android开发基础2.1 什么是Android2.1.1 Android简介Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称4。该平台由中间件、操作系统、应用软件和

11、用户界面组成,是首个为移动终端打造的真正开放和完整的软件平台和操作系统5。目前最新Android系统版本为Android 4.1,有代表性的手机是三星的galaxy note。Android是基于Linux内核的软件平台和操作系统,早期由谷歌公司研发(在华注册商标名为“安致”),后由开放手机联盟(Open Handset Alliance)开发。Android采用了软件堆层的架构,由三个部分组成。底层以Linux为操作系统内核,提供进程管理、存储管理等基本功能6。其他各公司自行开发市场需求的应用软件,部分程序以java编写。为了使这项技术得到推广,2007年11月,Google正式发布Andr

12、oid操作系统并联合34家厂商成立了“开放手机联盟”7。Android在未公布之前常被传闻为谷歌电话。业内大多数认为Google开发的是自有手机品牌产品,而不是一套开源的软件平台。到了2010年1月,Google才发表了自有手机品牌电话Nexus One。2011年10月,Android市场占有率超过48%,成为全球最受欢迎、用户交互体验较好、占有率最高的智能手机平台。Android手机软件平台为AndroidMarket,为用户提供下载和安装支持Android的第三方软件8。截止到2010年4月15日,AndroidMarket已经有3.8万多个应用程序9。现在这个移动互联网时代,Andro

13、id系统在智能手机和平板电脑市场均处于霸主地位。采用Android系统主要厂商包括HTC、SAMSUNG、LG、魅族、华为、中兴、联想、小米等。目前最新SDK版本为Android 4.2.2。2.1.2 Android的基本框架Android的基本框架由五个部分组成,应用层、应用框架层、类库、Android运行时环境和Linux内核。我们程序开发人员只可以访问应用层和应用框架层,使用开发所需Library库。下图就是Android基本框架图(图2-1):图2-1 Android基本框架(1) ApplicationsApplication Android会与一个核心应用的程序包一起发布,此应用

14、程序包会包括SMS短消息程序,email客户端,地图,浏览器,联系人管理,日历程序等10。使用JAVA语言编写的核心应用程序11。(2) Application FrameWork 允许开发人员完全访问核心应用程序所使用的API框架12。此应用程序架构用来简化组件的重用;在遵循系统安全性的要求下任何应用程序都可以发布和使用的它的功能块。此应用程序的重用机制使得组建可以被用户替换。所有的应用程序都由一系列的服务和系统组成,包括:可扩展的视图(Views )、内容管理器(Content Providers )、资源管理器(Resource Manager)、通知管理器(Notification M

15、anager)、活动类管理器(Activity Manager)。(3) Libraries库Android 包含了一套C/C+ 函数库13。该库通过 Android 的Application FrameWork为开发人员提供所需的底层服务。以下是一些核心Libraries库:系统 C库-就是系统C函数库(libc),为基于embedded linux的设备专门定制,也是从BSD继承而来的。媒体库- 基于 PacketVideoOpenCore,这个库支持录和放,可以录制大多数比较流行的音频与视频格式,还有静态映像文件包括MP3, MPEG4, AAC, H.264, AMR, JPG, PN

16、G。Surface Manager 管理所显示子系统,并且为多个应用程序提供2D图层和3D图层的无缝融合。LibWebCore - 一个最新用来支持Android浏览器和一个可嵌入web视图的web浏览器引擎。SGL - 一个内置的支持2D图形的引擎。3D libraries - 该库可以使用高度优化的3D软加速或者使用硬件3D加速。FreeType 位图和矢量字体显示14。SQLite 功能强劲的安卓用轻量级关系型数据库,所有应用程序均可使用。(4) Android RuntimeAndroid 包括了一个核心的Library,该库提供了编程中Java所封装的大多数类和方法。每一个Andro

17、id应用程序都在它自己独立的线程中运行,都拥有一个相对独立的Dalvik虚拟机实例15。Dalvik是同时针对于多个高效运行的VMs来实现的。Dalvik虚拟机执行.dex的可执行文件,这一格式文件对最小内存的使用做出了较好的优化。该Dalvik虚拟机是基于寄存器的,所有的类都需要经过JAVA编译,然后通过Android SDK中的dx工具转化成.dex格式再由虚拟机执行。 (5) Linux内核Android 的核心系统服务依赖于 Linux 2.6内核,如安全性,网络协议栈,内存管理,驱动模型和进程管理16。 Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。同所有Linux内核一

18、样,Android内核是介于硬件层和软件组之间的一个抽象层次17。2.2 Android开发环境的搭建在软件开发中,大部分的软件都需要配置开发环境才能够使用,Android开发也不例外。下面介绍Android的开发环境配置:搭建开发环境需要的软件:1.操作系统:Windows XP或Linux2.软件包:Android SDK(Software Development kit Java Development kit) 、ADT(Android Develoopment Tool)183.IDE环境:IDE Eclipse +ADT Eclipse4.JDK:Java Runtime Envi

19、ronment、Java Development kit19安装步骤如下:第一步:安装Java虚拟机sun-java6-jdk版本,正常安装即可,完成后需要配置环境变量。第二步:安装Eclipse工具 官网http:/www.eclipse.org/downloads/选择版本(图2-2):进行安装图2-2 Eclipse安装包下载第三步:安装安卓的SDK包:首先在安卓开发者的官网下载SDK,具体下载地如下 ,选择自己的系统进行下载安装图2-3 SDK包下载界面第四步:安装Android ADT插件打开Eclipse,点击help,然后点击install new software ,再点击ad

20、d,然后会弹出一个框如下图所示(图2-4)图2-4 ADT插件安装界面选择浏览你下载的ADT插件的包,点击OK按钮,选择需要安装的包,占击next按钮,然后选择接受协议,等到安装成功以后重启Eclipse工具,再设置Android SDK 环境,点击Window然后Preferences,再选择点击Android,如下所示(图2-5)图2-5 配置开发环境在SDK location中输入SDK Tools路径:E:android_sdk点击OK这样Android环境就已经搭建成功了。2.3 Android系统的四大组件在Android系统中,提供了四大基本组件,每个组件都是一个视图,分为可见和

21、不可见视图,我们常见的Activity,ContentProvider在应用程序中是能用肉眼看见的,而Service和BroadcastReceiver通常则是在后台运行的。下面来详细介绍下四大组件:(1)Activity 简介在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。Activity有自己的生命周期,由Android系统来控制。(2)Service 简介Service其实就是在后台运行的一种服务程序,用户一般不需要与其接触,所

22、以这样的一个Service类其实是比较简单的,我们自己所写的service方法只要继承Service类,实现所需要的方法就可以了。写好的Service需要在AndroidManifest.xml文件中注册,就是通过声明才能使用。Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService()方法来绑定一个存在的Service。 (3)Broadcast Receiver 简介Broadcast Receiver 字面是广播接收器的意思,它类似于事件处理机制,不过事件处理机制是程序组件级别的,而广播事件处理机制是系统级别的。我们可以使用

23、Intent来启动一个程序组件,还可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。我们可以在应用程序中实现Broadcast Receiver来监听和响应这些广播的Intent。(4)ContentProvider简介Content Provider 的应用使应用程序之间相互访问数据成为可能,目前它被用来保存和检索数据,也成为了Android系统提供的第三方应用数据的访问方案。它是跨应用程序共享数据的唯一方法。Android 系统为常用的音视频、图片和文件等提供了大量的Content Provider。它们在android.jar包的android.pro

24、vider下面。当我们有适当的权限的时候,通过这些定义好的ContentProvider 可以极其方便的进行数据操作。我们也可以自己来制定ContentProvider用来共享我们的数据,以方便用户的访问。2.4 Android音乐播放器工程2.4.1 Android项目Android的四大基本组件:Activity(活动),Service(服务),BroadcastReceiver(广播接受者),ContentProvider(内容提供者)20。各组件之间要进行切换需要一个Intent类,通过启动StartIntent()方法来使各组件进行跳转。Android的五大布局方式:LinearLa

25、yout(线性布局)、 FrameLayout(帧布局)、 TableLayout(表格布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)。这五种布局方式一般都是需要相互嵌套使用的,各种漂亮的Android界面就是通过嵌套布局才能够实现的,但是这一般都需要一定的Android布局功底。Android的线程,以及线程之间通信的中介:Handler类。Android配置文件:AndroidManifest.Xml及res资源文件中各种属性、布局方式 、引用的资源等。图2-6 音乐播放界面2.4.2 Android工程文件结构Android工程基本结构目录包括

26、:src (源代码)、gen(Android系统自动生成的常量)、Res(资源文件):主要存放程序界面的布局配置(.xml)文件和图片资源。AndroidMainfes.xml 是四大组件能够正常存在的根本,只有在它协调下,Android程序的四大组件才可以正常的跳转。Android资源的类型和布局(图2-7)图2-7 资源类型分布图下图2-8 -图2-12为音乐播放器的工程结构、源码结构和资源文件等,图2-8为一个Android工程的整体工程结构,图2-9为该播放器的代码源文件,图2-10为播放器所用到的字符串的xml配置文件,图2-11为 该播放器的各种界面的布局配置文件,图2-12为该播

27、放器的图片资源。图2-8图2-12 音乐播放器工程分析图2.4.3 AndroidManifest.xml文件AndroidManifest.xml文件用来启动所有的Android应用程序,当我们一个新建的工程,都会自动生成一个名叫AndroidManifest.xml的文件,这一配置文件是整个程序能够正常运行的核心,其重要性不言而喻,它里面明确声明了Android SDK的最低需求版本minSdkVersion,程序运行时使用的Activity都需要在这里注册声明,当程序中任何一个操作触发事件后,系统都会自动的去AndroidManifest.xml中寻找对应的标识来启动相应的操作。任何一个

28、AndroidManifest.Xml文件的格式都应为: Android系统默认支持的编码方式是utf-8,当程序显示出现乱码时,我们必须将其编码方式转化为utf-8.在 AndroidManifest.xml中会在第一行声明一句:。它是该系统支持的版本和编码。在第二行定义了我们需要使用的架构,该架构来自:xmlns:android=xmlns(XML namespace)是一个命名空间,它就如同一个引导者,带领我们找到系统框架,然后找到这个架构,每一个配置文件必须要由xmlns引导,否则我们想引用的资源就会无法使用。在application元素我们定义android:icon=drawabl

29、e/music和android:label=string/app_name,icon是程序安装后在手机中显示的图标,我们运用drawable/music表示了对res/drawable目录下的music.png的引用。string/app_name表示了对res/value目录下string.xml中定义的app_name对应值的引用,在string.xml定义键值对的方式易于以后的修改。 这是系统确定的首先要启动的Activity是MainActivity。在intent-filter选项中,有action和category属性,按照要求action的值为android.intent.act

30、ion.MAIN,category的值为android.intent.category.LAUNCHER,它们是系统的值,程序启动的时候解析到这些常用值就可以确定首先要启动的Activity。 在AndroidManifest.Xml中有一个根结点,它是我们需要定义的ADT版本,例如我们将其值设定为android:minSdkVersion=10,则表示此Android工程所用的版本为2.3.3,Android还有1.6、2.1、2.2、4.0、4.1这几个版本。如果我们需要对音频文件进行刻录,那我们就需要设置音频刻录权限,我们就需要将其的值设置为android:name=android.permission.RECORD_AUDIO,我们就可以进行音频刻录了。当然uses-permission还有别的权限

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

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