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

上传人:b****6 文档编号:7591642 上传时间:2023-01-25 格式:DOCX 页数:35 大小:2.30MB
下载 相关 举报
基于android的音乐播放器的设计.docx_第1页
第1页 / 共35页
基于android的音乐播放器的设计.docx_第2页
第2页 / 共35页
基于android的音乐播放器的设计.docx_第3页
第3页 / 共35页
基于android的音乐播放器的设计.docx_第4页
第4页 / 共35页
基于android的音乐播放器的设计.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

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

《基于android的音乐播放器的设计.docx》由会员分享,可在线阅读,更多相关《基于android的音乐播放器的设计.docx(35页珍藏版)》请在冰豆网上搜索。

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

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

 

齐齐哈尔大学

毕业设计(论文)

 

题目基于android的音乐播放器的设计

学院通信与电子工程学院

专业班级通信工程091班

学生姓名田浩

指导教师赵岩

成绩良好

 

2013年6月15日

摘要

当今社会发展越来越快,人们对手机软件设备的用户体验要求越来越高,本文主要是对Android系统上对音乐播放器应用程序的设计与实现进行讨论,通过这一过程的设计和论证对手机平台播放器以后的研发有很大意义。

本文的音乐播放器使用开源的Android平台,使用Java语言和开发工具Eclipse对音乐播放器代码进行编写。

通过设计能够实现音乐的播放、暂停、上一曲、下一曲、音乐列表、声音控制、退出菜单、播放模式等功能,通过对基于Android平台下的播放器的设计,了解音乐播放器的设计原理和实现的相关技术,掌握Android编程思想以及基本的应用组件,对以后从事Android开发有很大的帮助。

研究表明,基于Android平台的应用软件开发快捷简单,用户体验良好,必将成为未来移动互联网时代的风向标。

关键词:

安卓;音乐播放器;应用程序

 

Abstract

Today’ssocietyisdevelopingfasterandfaster,peoplesoftwareformobiledevicesareincreasinglydemandingtheuserexperience,thisarticleismainlyonmusicplayerapplicationsontheAndroidsystemdesignandimplementationarediscussed,throughthedesignanddemonstrationofthisprocessonthemobileplatformplayerdevelopmenthasgreatsignificanceinthefuture.ThismusicplayerusestheopensourceAndroidplatformusingtheJavalanguageandtheEclipsetoolsforwritingmusicplayercode.Thedesigncanrealizethemusicplay,pause,asong,thenextsong,music,soundcontrol,exitthemenu,playbackandotherfunctions,onthebasisofdesignundertheplatformofAndroidplayerbasedonthedesignprinciple,understandthemusicplayerandrelatedtechnology,masterAndroidprogrammingideasandtheapplicationofthebasiccomponents,aftertheAndroidengagedinthedevelopmentofgreathelpinthefuture.ResearchshowsthatbasedontheAndroidplatformapplicationdevelopmentquickandeasy,theuserexperienceisgood,willbecomethefuturemobileInterneteraofthecitizenry.

Keywords:

Android;musicplayer;application

第1章绪论

1.1选题依据、研究的目的及意义

Android播放器是近几年来智能手机当中比较流行的音乐播放软件。

利用以前学习过的各种编程知识来设计和开发一款基于Android平台的音乐播放器,还能深入学习Android的程序框架结构,从而进一步学习Android的基础知识和理论,了解手机软件的开发流程,掌握Android应用程序的开发技巧,充实自己的世界观价值观。

Android平台是一个完全开放的手机平台,智能手机中的各种应用软件也越来越完备。

智能手机操作系统的研究和它的发展已成为当前最活跃的领域[1]。

在Android平台设计和开发一款音乐播放器可以摆脱不能随意安装在非智能手机的因素,并且具有很广阔的应用前景。

当前音乐播放器由于手机内存和cpu处理能力的限制,在音乐播放、收集、推荐、操作和管理存在技术瓶颈,下一代音乐播放器应该使用云空间,记录用户的使用习惯,将音乐的播放,搜索等功能全部交给云端来处理,这样网络为用户提供互联网资源更庞大,还可以定制服务,管理也更加简单。

而近年来出现用户体验良好的Android智能手机系统恰好能作为下一代播放器平台。

只有音乐播放器客户端软件的不断创新发展,未来人们欣赏音乐的用户体验才会更好。

所以开发一款好的音乐播放器在现在和未来都具很大的实用价值。

1.2国内外的研究现状

随着科技的快速发展,数码电子设备基本上都含有MP3播放的功能。

媒体播放器的发展有两个趋势。

首先,支持多样化格式,如常见的音频格式WMA格式、MP3格式、MIDI格式等。

这些格式如何能够完美的播放,是现如今研究的一个主流方向。

其次一个必要的趋势就是播放器的可扩展性,现如今音乐播放器的功能越来越多,用户体验越来越好,如何能让播放器的功能比现有的更加完备,也是占领用户群的一个因素。

由于Android基于Linux内核且具有开源、免费的特性,为播放性能的提升提供了更加便利的条件[2]。

Android平台的开放性,可以不仅推动了技术创新(包括平台本身),也有利于降低开发成本,让制造商定制的特点产品很容易。

因此,它有一个大的市场潜力[3]。

目前Android开发在国内外主要都是开发应用,分成3类:

为大客户开发App、开发通用App(放到安卓市场或者其他App市场下载销售)以及游戏开发(同样放到安卓市场或者其他App市场销售,目前从事游戏开发的人员也是占比例最大的)。

第一类开发者一般是比较专业的大公司,这些公司主要为大客户设计定制App以及提供其所需要的总体解决方案。

他们除了会根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。

第二类开发者,一般是创业型公司或者是个人开发者,他们的盈利方式一般是2种:

为国外客户做外包软件开发或者通过Google的移动广告(AdMob),用户点击广告分成。

而在理论上的通过付费下载的方式来盈利的,现在国内少有成功者。

第三类开发者目前和第二类开发者类似。

第2章Android开发基础

2.1什么是Android

2.1.1Android简介

Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称[4]。

该平台由中间件、操作系统、应用软件和用户界面组成,是首个为移动终端打造的真正开放和完整的软件平台和操作系统[5]。

目前最新Android系统版本为Android4.1,有代表性的手机是三星的galaxynoteⅡ。

Android是基于Linux内核的软件平台和操作系统,早期由谷歌公司研发(在华注册商标名为“安致”),后由开放手机联盟(OpenHandsetAlliance)开发。

Android采用了软件堆层的架构,由三个部分组成。

底层以Linux为操作系统内核,提供进程管理、存储管理等基本功能[6]。

其他各公司自行开发市场需求的应用软件,部分程序以java编写。

为了使这项技术得到推广,2007年11月,Google正式发布Android操作系统并联合34家厂商成立了“开放手机联盟”[7]。

Android在未公布之前常被传闻为谷歌电话。

业内大多数认为Google开发的是自有手机品牌产品,而不是一套开源的软件平台。

到了2010年1月,Google才发表了自有手机品牌电话NexusOne。

2011年10月,Android市场占有率超过48%,成为全球最受欢迎、用户交互体验较好、占有率最高的智能手机平台。

Android手机软件平台为AndroidMarket,为用户提供下载和安装支持Android的第三方软件[8]。

截止到2010年4月15日,AndroidMarket已经有3.8万多个应用程序[9]。

现在这个移动互联网时代,Android系统在智能手机和平板电脑市场均处于霸主地位。

采用Android系统主要厂商包括HTC、SAMSUNG、LG、魅族、华为、中兴、联想、小米等。

目前最新SDK版本为Android4.2.2。

2.1.2Android的基本框架

Android的基本框架由五个部分组成,应用层、应用框架层、类库、Android运行时环境和Linux内核。

我们程序开发人员只可以访问应用层和应用框架层,使用开发所需Library库。

下图就是Android基本框架图(图2-1):

图2-1Android基本框架

(1)Applications

ApplicationAndroid会与一个核心应用的程序包一起发布,此应用程序包会包括SMS短消息程序,email客户端,地图,浏览器,联系人管理,日历程序等[10]。

使用JAVA语言编写的核心应用程序[11]。

(2)ApplicationFrameWork

允许开发人员完全访问核心应用程序所使用的API框架[12]。

此应用程序架构用来简化组件的重用;在遵循系统安全性的要求下任何应用程序都可以发布和使用的它的功能块。

此应用程序的重用机制使得组建可以被用户替换。

所有的应用程序都由一系列的服务和系统组成,包括:

可扩展的视图(Views)、内容管理器(ContentProviders)、资源管理器(ResourceManager)、通知管理器(NotificationManager)、活动类管理器(ActivityManager)。

(3)Libraries库

Android包含了一套C/C++函数库[13]。

该库通过Android的ApplicationFrameWork为开发人员提供所需的底层服务。

以下是一些核心Libraries库:

系统C库-就是系统C函数库(libc),为基于embeddedlinux的设备专门定制,也是从BSD继承而来的。

媒体库-基于PacketVideoOpenCore,这个库支持录和放,可以录制大多数比较流行的音频与视频格式,还有静态映像文件包括MP3,MPEG4,AAC,H.264,AMR,JPG,PNG。

SurfaceManager–管理所显示子系统,并且为多个应用程序提供2D图层和3D图层的无缝融合。

LibWebCore-一个最新用来支持Android浏览器和一个可嵌入web视图的web浏览器引擎。

SGL-一个内置的支持2D图形的引擎。

3Dlibraries-该库可以使用高度优化的3D软加速或者使用硬件3D加速。

FreeType–位图和矢量字体显示[14]。

SQLite–功能强劲的安卓用轻量级关系型数据库,所有应用程序均可使用。

(4)AndroidRuntime  

Android包括了一个核心的Library,该库提供了编程中Java所封装的大多数类和方法。

每一个Android应用程序都在它自己独立的线程中运行,都拥有一个相对独立的Dalvik虚拟机实例[15]。

Dalvik是同时针对于多个高效运行的VMs来实现的。

Dalvik虚拟机执行.dex的可执行文件,这一格式文件对最小内存的使用做出了较好的优化。

该Dalvik虚拟机是基于寄存器的,所有的类都需要经过JAVA编译,然后通过AndroidSDK中的dx工具转化成.dex格式再由虚拟机执行。

(5)Linux内核

Android的核心系统服务依赖于Linux2.6内核,如安全性,网络协议栈,内存管理,驱动模型和进程管理[16]。

Linux内核也同时作为硬件和软件堆栈之间的硬件抽象层。

同所有Linux内核一样,Android内核是介于硬件层和软件组之间的一个抽象层次[17]。

2.2Android开发环境的搭建

在软件开发中,大部分的软件都需要配置开发环境才能够使用,Android开发也不例外。

下面介绍Android的开发环境配置:

搭建开发环境需要的软件:

1.操作系统:

WindowsXP或Linux

2.软件包:

AndroidSDK(SoftwareDevelopmentkitJavaDevelopmentkit)、ADT(AndroidDeveloopmentTool)[18]

3.IDE环境:

IDEEclipse+ADTEclipse

4.JDK:

JavaRuntimeEnvironment、JavaDevelopmentkit[19]

安装步骤如下:

第一步:

安装Java虚拟机sun-java6-jdk版本,正常安装即可,完成后需要配置环境变量。

第二步:

安装Eclipse工具官网http:

//www.eclipse.org/downloads/

选择版本(图2-2):

进行安装

图2-2Eclipse安装包下载

第三步:

安装安卓的SDK包:

首先在安卓开发者的官网下载SDK,具体下载地如下,选择自己的系统进行下载安装

图2-3SDK包下载界面

第四步:

安装AndroidADT插件

打开Eclipse,点击help,然后点击installnewsoftware,再点击add,然后会弹出一个框如下图所示(图2-4)

图2-4ADT插件安装界面

选择浏览你下载的ADT插件的包,点击OK按钮,选择需要安装的包,占击next按钮,然后选择接受协议,等到安装成功以后重启Eclipse工具,再设置AndroidSDK环境,点击Window然后Preferences,再选择点击Android,如下所示(图2-5)

图2-5配置开发环境

在SDKlocation中输入SDKTools路径:

E:

\android_sdk点击OK

这样Android环境就已经搭建成功了。

2.3Android系统的四大组件

在Android系统中,提供了四大基本组件,每个组件都是一个视图,分为可见和不可见视图,我们常见的Activity,ContentProvider在应用程序中是能用肉眼看见的,而Service和BroadcastReceiver通常则是在后台运行的。

下面来详细介绍下四大组件:

(1)Activity简介

在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。

多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。

Activity有自己的生命周期,由Android系统来控制。

(2)Service简介

Service其实就是在后台运行的一种服务程序,用户一般不需要与其接触,所以这样的一个Service类其实是比较简单的,我们自己所写的service方法只要继承Service类,实现所需要的方法就可以了。

写好的Service需要在AndroidManifest.xml文件中注册,就是通过声明才能使用。

Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService()方法来绑定一个存在的Service。

(3)BroadcastReceiver简介

BroadcastReceiver字面是广播接收器的意思,它类似于事件处理机制,不过事件处理机制是程序组件级别的,而广播事件处理机制是系统级别的。

我们可以使用Intent来启动一个程序组件,还可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。

我们可以在应用程序中实现BroadcastReceiver来监听和响应这些广播的Intent。

(4)ContentProvider简介

ContentProvider的应用使应用程序之间相互访问数据成为可能,目前它被用来保存和检索数据,也成为了Android系统提供的第三方应用数据的访问方案。

它是跨应用程序共享数据的唯一方法。

Android系统为常用的音视频、图片和文件等提供了大量的ContentProvider。

它们在android.jar包的android.provider下面。

当我们有适当的权限的时候,通过这些定义好的ContentProvider可以极其方便的进行数据操作。

我们也可以自己来制定ContentProvider用来共享我们的数据,以方便用户的访问。

2.4Android音乐播放器工程

2.4.1Android项目

Android的四大基本组件:

Activity(活动),Service(服务),BroadcastReceiver(广播接受者),ContentProvider(内容提供者)[20]。

各组件之间要进行切换需要一个Intent类,通过启动StartIntent()方法来使各组件进行跳转。

Android的五大布局方式:

LinearLayout(线性布局)、FrameLayout(帧布局)、TableLayout(表格布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)。

这五种布局方式一般都是需要相互嵌套使用的,各种漂亮的Android界面就是通过嵌套布局才能够实现的,但是这一般都需要一定的Android布局功底。

Android的线程,以及线程之间通信的中介:

Handler类。

Android配置文件:

AndroidManifest.Xml及res资源文件中各种属性、布局方式、引用的资源等。

图2-6音乐播放界面

2.4.2Android工程文件结构

Android工程基本结构目录包括:

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为该播放器的图片资源。

图2-8~图2-12音乐播放器工程分析图

2.4.3AndroidManifest.xml文件

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

任何一个AndroidManifest.Xml文件的格式都应为:

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

>

Android系统默认支持的编码方式是"utf-8",当程序显示出现乱码时,我们必须将其编码方式转化为"utf-8".在AndroidManifest.xml中会在第一行声明一句:

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

>。

它是该系统支持的版本和编码。

在第二行定义了我们需要使用的架构,该架构来自:

xmlns:

android="

xmlns(XMLnamespace)是一个命名空间,它就如同一个引导者,带领我们找到系统框架,然后找到这个架构,每一个配置文件必须要由xmlns引导,否则我们想引用的资源就会无法使用。

在application元素我们定义android:

icon="@drawable/music"和

android:

label="@string/app_name",icon是程序安装后在手机中显示的图标,我们运用@drawable/music表示了对res/drawable目录下的music.png的引用。

@string/app_name表示了对res/value目录下string.xml中定义的app_name对应值的引用,在string.xml定义键值对的方式易于以后的修改。

android:

label="@string/app_name"

android:

name="com.tianhaoxyz.music.MainActivity">

name="android.intent.action.MAIN"/>

name="android.intent.category.LAUNCHER"/>

这是系统确定的首先要启动的Activity是MainActivity。

在intent-filter选项中,有action和category属性,按照要求action的值为android.intent.action.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