刘晓东基于Android系统的MIDI音乐播放器的设计Word下载.docx

上传人:b****6 文档编号:21390952 上传时间:2023-01-30 格式:DOCX 页数:46 大小:1.02MB
下载 相关 举报
刘晓东基于Android系统的MIDI音乐播放器的设计Word下载.docx_第1页
第1页 / 共46页
刘晓东基于Android系统的MIDI音乐播放器的设计Word下载.docx_第2页
第2页 / 共46页
刘晓东基于Android系统的MIDI音乐播放器的设计Word下载.docx_第3页
第3页 / 共46页
刘晓东基于Android系统的MIDI音乐播放器的设计Word下载.docx_第4页
第4页 / 共46页
刘晓东基于Android系统的MIDI音乐播放器的设计Word下载.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

刘晓东基于Android系统的MIDI音乐播放器的设计Word下载.docx

《刘晓东基于Android系统的MIDI音乐播放器的设计Word下载.docx》由会员分享,可在线阅读,更多相关《刘晓东基于Android系统的MIDI音乐播放器的设计Word下载.docx(46页珍藏版)》请在冰豆网上搜索。

刘晓东基于Android系统的MIDI音乐播放器的设计Word下载.docx

随着3G网络的大规模建设和智能手机的迅速普及,移动互联网时代已经微笑着迎面而来。

自1983年世界第一款商用手机发布到现在,只经过了仅仅不到30年的时间,全球手机用户已达23亿之多。

消费者对手机产品在商务和娱乐方面的要求越来越高,让手机日益成为便携式的商务或娱乐终端。

在硬件的推动下,用户对手机软件的功能需求也越来越高。

Android系统也在不断更新以满足需求,因此手机多媒体技术的开发也就不可避免称为热点。

Android:

Google公司于2007年公布的开放式源代码手机系统,它的开放性优于其它封闭式的手机系统,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。

这使得越来越多的人关注这个操作系统。

本设计为一款基于Android2.2操作系统及以上版本的音乐播放器,以Java作为基础编程语言,采用Android系统提供的标准数据库SQLite进行操作。

本设计的实现,囊括了Android大部分编程技术,用其友好的用户界面,实现了对音乐控制的基本功能:

播放、暂停、上/下首切换、歌词同步显示和各种播放模式的控制(单曲、循环、随机和顺序播放),也实现了对歌曲列表的搜索、添加和删除等功能。

关键词:

Android;

Google;

音乐播放器;

Java;

移动互联网

Abstract

Withthecomingoftheeraof3G,somewordscanbeheardmoreandmorefrequently,suchas3G,Android,iPhone,Google,Apple,Mobilephonesoftware,Mobiledevelopment.Asthe3Gnetwork’slarge-scaleconstructionandthesmartphone’srapidpopularization,mobileinternetagehascomewithasmile.

Sincetheissuanceoftheworld’sfirstcommercialmobilephonein1983,thetotalnumberofglobalmobilephoneusershasbeenmorethan2.3billioninthepastlessthan30years.Consumersdemandmoreandmoremobilephone’sperformanceinbusinessandentertainment,whichhasmademobilephonetheportableterminalforbusinessandentertainmentdaybyday.Beingmotivatedbyhardware,users’needsonmobilephonesoftware’sfunctiongoesincreasinglyhigh.Androidsystemisupdatingtosatisfytheneeds.Therefore,thedevelopmentofmobilemultimediatechnologyhasinevitablybecomethehotspot.

AndroidistheopensourcemobilesystempublishedbyGooglein2007.Forthereasonthatitsopennessissuperiortootherclosedmobilesystem,anyonecanrewriteallfunctionsinthemobilesystemasheorshelike,whichhasmademoreandmorepeoplepayattentiontothisoperatingsystem.

ThisdesignisamusicplayerusingJavaasthebasicprogramminglanguage,whichisbasedonAndroid2.2operatingsystemandaboveversion,andcanbeoperatedbythestandarddatabaseSQLitethatofferedbyAndroidsystem.Thoughthisdesignisnotbig,itcontentsAndroid’smostprogrammingtechnology.Itsfavorableuserinterfacecanconducetotherealizationofitsbasicfunctioninmusiccontrolling(start,pause,switchingbetweenupanddownmusic,lyricssynchronizeddisplay)andplaymodecontrolling(singleplay,singlecycle,randomplayandallcycle).Besides,italsorealizesthefunctioninsongincludingsearch,add,deleteandsoon.

Keywords:

Android;

Google;

musicplayer;

Java;

mobileinternet

第一章绪论

随着Android手机的普及,Android应用的需求势必会越来越大,消费者对手机产品在商务和娱乐方面的要求越来越高,让手机日益成为便携式的娱乐终端。

其中媒体播放器也扮演着重要的角色,本设计的完成可以让人们在忙碌的工作之余,只需一部Android手机,尽情的欣赏音乐,缓解压力。

一.1设计背景及意义

现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计实现主要功能是播放Mp3格式的音乐文件,并且能够控制播放、暂停、停止、上一曲、下一曲、音量调节、视觉外观、播放列表的搜索、添加和删除操作等多种播放控制功能,界面简明,操作简单。

本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。

使人们的生活更加多样化。

也使设计者更加熟练Android的技术和其它在市场上的特点。

一.2Android国内外发展的状况

国外Android市场正在如日中天的扩展,据市场调研机构NPDGroup最近发布的一份报告称,今年第一季度基于Android操作系统的智能手机在美国智能手机总销量中所占比例达到28%,首度超越苹果iPhone,苹果iPhone约为21%,相信在不久的将来会有更多的用户选择Android系统的手机或是无线终端设备。

目前中国拥有世界上最大的手机用户群,再加上3G的推出对整个行业的巨大推动作用,全世界所有大中小型手机制造商几乎都在招聘Android工程师。

然而每天有超过16万台的Android设备出货,一年后全球可能会有超过1亿台的Android设备,以后将有可能超越iPhone成为智能手机平台的旗舰。

Android在中国的前景十分广阔,首先是有成熟的消费者,Android社区十分红火,这些社区为Android在中国的普及做了很好的推广作用。

国内厂商和运营商也纷纷加入了Android阵营,包括中国移动、中国联通、中兴通讯、华为通讯、联想等大企业,同时不仅仅局限于手机,国内厂家也陆续推出了采用Android系统的MID产品,比较著名的包括由Rockchip和蓝魔推出的同时具备高清播放和智能系统的音悦汇W7和2010年推出的原道N5,我们可以预见Android也将会被广泛应用在国产智能上网设备上,将进一步扩大Android系统的应用范围。

另一方面,由于国内政策的限制,导致Android的部分功能(如Androidmarket)在国内无法正常使用,目前常用的解决方法是使用VPN服务来访问。

第二章开发工具相关简介

2.1Android概述

Android一词本意是指“机器人”,当然现在大家都知道它是Google推出的开源手机操作系统。

Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。

它是一个由30多家科技公司和手机公司组成的“开放手机联盟”共同研发的,这将大大降低新型手机设备的研发成本。

完全整合的全移动功能性产品成为“开放手机联盟”的最终目标。

Android平台是OpenHandsetAlliance的成果,OpenHandsetAlliance组织由一群共同致力于构建更好的移动电话的公司组成。

这个组织由Google领导,包括移动运营商、手持设备制造商、零部件制造商、软件解决方案和平台提供商以及市场营销公司。

从软件开发的观点看,Android正处在开源领域的中心位置。

市场上第一款支持Android的手机是由HTC制造并由T-Mobile供应的G1。

这款设备从设想到推出花了大约一年的时间,惟一可用的软件开发工具是一些实行增量改进的SDK发行版。

随着G1发行日的临近,Android团队发布了SDKV1.0,用于这个新平台的应用程序也浮出水面。

为了鼓励创新,Google举办了两届“AndroidDeveloperChallenges”,为优胜的参赛作品提供数百万美金的奖励。

G1问世几个月之后,随后就发布了AndroidMarket,它使用户可以浏览应用程序,并且可以将应用程序直接下载到他们的手机上。

经过大约18个月,一个新的移动平台进入公众领域。

Android操作系统是Google最具杀伤力的武器之一。

苹果以其天才的创新,使得iPhone在全球迅速拥有了数百万重视“粉丝”,而Android作为第一个完整、开放、免费的手机平台,使开发者在为其开发程序时拥有更大的自由。

与WindowsMobile、Symbian等厂商不同的是,Android操作系统免费向开发人员提供,这样可节省近三成成本,得到了众多厂商与开发者的拥护。

Android系统具有如下5个特点:

Ø

开放性。

Google与开放手机联盟合作开发了Android,Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。

应用程序无极限。

Android上的应用程序可以通过标准API访问核心移动设备功能。

通过互联网,应用程序可以声明它们的功能可供其他应用程序使用。

应用程序是在平等的条件下创建的。

移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件。

应用程序可以轻松地嵌入网络。

应用程序可以轻松地嵌入HTML、JavaScript和样式表,还可以通过WebView显示网络内容。

应用程序可以并行运行。

Android是一种完整的多任务环境,应用程序可以在其中并行运行。

在后台运行时,应用程序可以生成通知以引起注意。

随着Android平台的扩张,引发了Android人才荒,2010年移动开发人才需求20万,未来人才需求缺口将达百万。

3G人才全球紧缺,实用人才培养已迫在眉睫。

在国内三大运营商如火如荼的3G营销战持续升温,再加上3G的推出对整个行业的巨大推动作用,无疑将引爆3G手机开发工程师这个黄金职位。

但符合条件的Android工程师屈指可数,在未来几年内,Android开发工程师将成为3G行业炙手可热的岗位之一。

2.2Android开发技术简介

Android支持使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。

考虑到Java虚拟机的效率和资源占用,Google重新设计了Android的Java,以便能提高效率和减少资源占用,因而与J2ME等不同。

本设计也是使用Java语言设计与实现的。

2.2.1Android程序框架介绍

本节将介绍一下开发Android项目的项目目录结构,如图2.1所示,这是MIDI音乐播放器的项目目录结构。

与一般的Java项目一样,src文件夹是项目的所有包及源文件(.java),res文件夹中则包含了项目中所有的资源,比如:

程序图标(drawable)、布局文件(layout)、常量(values)等。

R.java是在建立项目时自动生成的,这个文件是只读模式,不能更改,R.java是定义该项目所有资源的索引文件。

AndroidManifest.xml文件则包含了该项目中所用的Activity、Service等组件,它是一个功能清单文件。

图2.1MIDI音乐播放器目录结构

2.2.2用户界面介绍

Android平台提供的控件是非常完美的,控件的使用与网页的设计类似。

Android的界面需要写在“res/layout”下面的布局文件,一般情况下,一个布局文件对应一个界面。

设计Android的界面有点像写HTML代码,要先给Android定框架,然后再往里面添加控件。

Android生成屏幕有三种方式:

xml配置生成;

通过用户界面接口生成;

直接用代码生成。

在一个Android应用中,用户界面是由View和ViewGroup对象构建的。

View和ViewGroup都有很多种类,而它们都是View的子类。

开发者可以对View和ViewGroup进行组合,来完成应用程序界面设计。

1)View

任何一个View对象都继承android.view.View类。

它是一个存储屏幕上特定的一个矩形布局和内容属性的数据结构。

作为一个基类,View类为Widget服务,Widget是一组用于绘制交互屏幕元素的完全实现子类。

Widget处理自己的测距和绘图,所以可以快速地用它们去构建UI。

可用到的Widget包括Text、EditText、Button、RadioButton和Checkbox等。

2)ViewGroup

ViewGroup是一个android.view.Viewgroup类的对象。

顾名思义,ViewGroup是一个特殊的View对象,它的功能是装载和管理一组下层的View和其他Viewroup,ViewGroup可以为UI增加结构,并且将复杂的屏幕元素构建成一个独立的实体。

作为一个基类,ViewGroup为Layout(布局)服务,Layout则是一组提供屏幕界面通用类型的完全实现子类,一个Activity界面可以包含多个ViewGroup和View,,通过这样的组合可以实现更复杂、更完美、更满足开发者需要的界面。

2.2.3Android四大组件简介

本节介绍Android非常重要的几个组件,Android有四大组件:

Activity、Service、BroadcastReceiver、ContentProvider。

1)Activity

在Android中使用频率最高,实质就是一个可视化界面;

一般一个Android应用由多个Activity组成,多个Activity组成Activity栈(stack),当前活跃的Activity在栈顶Activity上面是一个Window对象,Window之上通常是一个布局容器对象(LinearLayout等),在上面是我们所要展示的各个组件(如按钮、文本框等)Activity有自己的生命周期,由Android系统来控制新建的Activity要在清单文件AndroidManifest.xml中注册。

2)Service

Service顾名思义服务,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而服务理机制是系统级别的,这个组件是没有用户界面的。

到目前为止可以使用Intent来启动一个程序组件,还可通过使用startService()方法来发起启动一个程序中的服务。

同时在应用程序中实现Service来监听和响应这些服务的Intent。

本应用MIDI播放器对歌曲的控制全都做在了Service里,后续会详细说明。

3)BroadcastReceiver

指广播接收器,广播事件处理机制是系统级别的系统中定义了很多标准的BroadcastAction来响应系统广播事件,如:

ACTION_BOOT_COMPLETED(系统启动完成后出发),ACTION_BATTERY_CHANGED(电量低时出发)也可以自定义BroadcastReceiver接收广播事件注册广播接收器可以使用代码注册,也可在清单文件AndroidManifest.xml中注册。

4)ContentProvider

用来保存和检索数据的,并且是应用程序之间相互访问数据成为可能,他是跨应用程序共享数据的唯一方法Android为常用的数据类型(如:

视频、音频、图片)提供了大量的ContentProvider,它们被放在android.provider下面,使用时要注意权限问题。

2.2.4Android数据库SQLite介绍

SQLite第一个Alpha版本诞生于2000年5月,它是一款轻型数据库,它的设计目的是嵌入式的,而且目前已经在很多嵌入式产品中使用,它占用的资源非常少,在嵌入式设备中,可能只需要几百KB的内存就够了。

也许这正是Android系统要采用SQLite数据库的原因之一。

SQLite数据库是D.RichardHipp用C语言编写的开源嵌入式数据库,支持的数据库大小是2TB,SQLite是一个开源的关系数据库,可以存储大量数据,并且可以很容易的进行增删改查。

SQLite数据库不像其他的数据库(如Oracle),它没有服务器进程。

所有的内容包含在同一个单个文件中。

该文件是跨平台的,可以自由复制。

基于其自身的先天优势,SQLite在嵌入式领域得到广泛应用。

Android也没有重复发明“轮子”,而是直接是用了SQLite数据库。

目前在Android系统中集成的是SQLite3版本,SQLite不支持静态数据类型,而是使用列关系。

这意味着它的数据类型不具有表列属性,而具有数据本身的属性。

当某个值插入数据库时,SQLite将检查它的类型。

如果该类型与关联的列不匹配,则SQLite会尝试将该值转换成列类型。

如果不能转换,则该值将作为其本身具有的类型存储。

SQLite支持NULL、INTEGER、REAL、TEXT和BLOB等数据类型。

Android提供了创建和使用SQLite数据库的API。

SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法,另外还有一个SQLiteOpenHelper工具类提供了更简洁的功能。

在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。

关于这个SQLiteOpenHelper类在后续章节中会详细讲到,它的出现能够更好地管理和维护数据库。

2.3Java语言介绍

Java是一种简单的、跨平台的、面向对象的、分布式的、结实的、健壮的、安全的、结构的、中立的、可移植的、性能很优异的多线程的、动态的语言。

当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。

它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。

由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。

就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。

Java编程语言的风格十分接近C、C++语言。

Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。

在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长度参数和自动装/拆箱等语言特性。

Java不同于一般的编译执行计算机语言和解释执行计算机语言。

它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。

不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。

但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。

与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。

全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。

“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。

这与微软公司所倡导的注重精英和封闭式的模式完全不同。

Sun公司对Java编程语言的解释是:

Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

Java平台是基于Java语言的平台。

这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。

AndroidGoogle选择用Java语言作为它十分流行的Android移动操作系统的编程语言。

这个选择在整个件研发人员的社区中引起了新的关注。

Android程序编译过程比普通Java程序要多经过一个步骤,将JVM二进制码转换成Dalvik二进制码。

Google已经可以利用Eclipse为软件研发人员提供一个成熟的编写Android应用的开发环境。

考虑到Java虚拟机的效率和资源占用,Google重新设计了Android的Java,以便能提高效率和减少资源占用。

第三章系统分析

3.1可行性分析

3.1.1操作可行性

随着时代的发展,3G时代已经来临,人们对于手机的操作已经很熟练了,而对于Android手机,更是由于简单的操作,行云流水的触摸感觉,已经赢得了世人的青睐。

对于本应用而言,操作方面不对存在障碍,简洁大方的用户界面设计,只需用户轻轻点击,即可完成所有的对音乐播放的控制等操作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

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

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