基于Android系统的MIDI音乐播放器的设计与实现.docx
- 文档编号:8062713
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:48
- 大小:1.01MB
基于Android系统的MIDI音乐播放器的设计与实现.docx
《基于Android系统的MIDI音乐播放器的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Android系统的MIDI音乐播放器的设计与实现.docx(48页珍藏版)》请在冰豆网上搜索。
基于Android系统的MIDI音乐播放器的设计与实现
基于Android系统的MIDI音乐播放器的设计与实现
内蒙古科技大学
本科生毕业设计说明书(毕业论文)
题目:
基于Android系统的MIDI音乐
播放器的设计与实现
摘要
随着3G时代的来临,3G、Android、iPhone、Google、苹果、手机软件、移动开发等词越来越充斥于耳。
随着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
摘要I
AbstractII
第一章绪论1
1.1设计背景及意义1
1.2Android国内外发展的状况1
第二章开发工具相关简介3
2.1Android概述3
2.2Android开发技术简介4
2.2.1Android程序框架介绍4
2.2.2用户界面介绍5
2.2.3Android四大组件简介6
2.2.4Android数据库SQLite介绍7
2.3Java语言介绍8
第三章系统分析10
3.1可行性分析10
3.1.1操作可行性10
3.1.2经济可行性10
3.1.3技术可行性10
3.2设计目标11
3.3功能需求分析12
3.3.1播放控制模块分析12
3.3.2歌曲列表模块分析13
3.3.2播放模式模块分析14
3.4性能需求分析15
第四章总体设计16
4.1数据库设计16
4.2基本流程设计17
4.2.1整体流程设计17
4.2.2播放控制流程设计17
4.2.3歌曲列表流程设计18
4.2.4播放模式流程设计19
第五章详细设计20
5.1MIDI播放器UI设计20
5.1.1歌曲列表界面设计21
5.1.2播放控制界面设计23
5.2播放器初始化实现25
5.3歌曲列表模块实现27
5.3.1数据库创建和连接实现27
5.3.2歌曲列表搜索、添加和删除实现29
5.4播放控制和模式模块实现32
5.4.1基本控制功能实现32
5.4.2UI同步显示实现34
5.4.3播放模式控制实现35
5.5歌词同步显示实现37
5.6菜单功能实现42
第六章系统测试44
6.1测试引言44
6.1.1测试目的44
6.1.2测试信息44
6.2测试内容45
6.2.1初始化测试45
6.2.2歌曲列表测试45
6.2.3播放控制测试46
6.2.4歌词同步显示测试46
6.2.5搜索、添加和删除测试47
总结48
参考文献49
致谢50
第一章绪论
随着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),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 系统 MIDI 音乐 播放 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)