基于Android手机平台的音乐播放器毕业论文.docx

上传人:b****5 文档编号:6221319 上传时间:2023-01-04 格式:DOCX 页数:51 大小:1.05MB
下载 相关 举报
基于Android手机平台的音乐播放器毕业论文.docx_第1页
第1页 / 共51页
基于Android手机平台的音乐播放器毕业论文.docx_第2页
第2页 / 共51页
基于Android手机平台的音乐播放器毕业论文.docx_第3页
第3页 / 共51页
基于Android手机平台的音乐播放器毕业论文.docx_第4页
第4页 / 共51页
基于Android手机平台的音乐播放器毕业论文.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

基于Android手机平台的音乐播放器毕业论文.docx

《基于Android手机平台的音乐播放器毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Android手机平台的音乐播放器毕业论文.docx(51页珍藏版)》请在冰豆网上搜索。

基于Android手机平台的音乐播放器毕业论文.docx

基于Android手机平台的音乐播放器毕业论文

(此文档为word格式,下载后您可任意编辑修改!

 

基于Android手机平台的音乐播放器

 

目录

第一章引言-1-

1.1项目背景-1-

1.2编写目的-2-

第二章系统需求分析-3-

2.1功能需求(用例图分析)-3-

2.1.1播放器的基本控制需求-3-

2.1.2播放清单列表管理需求-5-

2.1.3播放友好性需求-7-

2.1.4播放器扩展卡需求-8-

2.1.5功能需求(时序图)分析-9-

2.2系统结构图和流程图-10-

2.3系统界面需求-11-

2.4系统性能需求-12-

2.5运行环境需求-12-

第三章Android数据库设计-13-

3.1数据库及字段属性设计-13-

3.1.1字段设计(表、图)-13-

3.1.2音乐播放器E-R图-15-

3.2数据库连接-15-

3.2.1创建数据库-15-

3.2.2操作数据库-16-

3.2.3数据显示-17-

第四章Android项目介绍-18-

4.1什么是Android?

-18-

4.1.1Android简介-18-

4.1.2AndroidFeatures特性-18-

4.1.3Android基本框架(AndroidArchitecture)-19-

4.1.4Android系统的四大组件-22-

4.2搭建Android开发环境-23-

4.3Android常用工具的使用-25-

4.3.1命令行的使用-25-

4.3.2DalvikDebugMonitorService(DDMS)的使用-26-

4.4Android音乐播放器的工程-26-

4.4.1Android项目-26-

4.4.2Android工程程序结构-27-

4.4.3AndroidManifest.xml文件-29-

第五章播放器系统功能详细设计-31-

5.1音乐播放器主界面功能实现-31-

5.1.1播放器主界面-31-

5.1.2播放界面音轨的实现-32-

5.1.3播放器播放、暂停、停止等功能-35-

5.2播放列表功能-36-

5.3菜单功能-38-

5.3.1菜单界面-38-

5.3.2菜单功能实现-39-

5.4播放设置界面-41-

5.4.1界面实现-41-

5.4.2歌词显示实现-42-

5.5手机扩展卡的访问-44-

5.5.1文件浏览器界面-45-

5.5.2文件浏览器功能实现-46-

5.6数据存储方式-47-

5.6.1SharedPreferences-47-

5.6.2File存储方式-48-

5.6.3SQLiteDatabase数据库-48-

第六章结论-49-

摘要

当今社会的生活节奏越来越快+Android系统上一的款音乐播放器应用程序的设计与实现进行讨论。

Android是一个开源的系统,它底层是基于Linux的操作系统,本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。

同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对高度过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示等功能于一体,性能良好,在Android系统中能独立运行。

该播放器还拥有对手机文件浏览器的访问功能、歌曲播放模式、以及歌词开闭状态的友好设置.MP3的全名是MPEGAudioLayer-3,是一种声音文件的压缩格式,由于本播放器只限于应用层程序的探讨,所以对具体的压缩算法不作深究。

关键词:

Android;开源系统;linux;音乐播放器

ABSTRACT

Thepaceoflifeintoday'ssociety,withmoreadvancedamusicplayerfromsystemdesignandrealizationoftheapplicationisdiscussed.Takethesystemisanopensource,itisbasedontheoperatingsystem,usetheLinuxmusicplayeroftheAndroidopen-sourcesystemtechnology,usingtheJavalanguageandeditingtoolsforplayerstoEclipse.Presentsthedetaileddesignprocess,thepartofthesystemandthemainfunctionsofoperationinterfacediagramofdetail,andthemusicplayerepisode,pause,stopanda,next,volumeadjustment,lyricsdisplayfunctions,suchasperformanceisgood,canoperateindependentlyintheAndroidsystem.Thisplayer,openandcloseconditionoffriendlywords.MP3AudioMPEGLayer-nameis3,isakindofsoundfilescompressedformat,becausetheplayerstoexplore,sotheapplicationprocedureforspecificcompressionalgorithmnotprobe

KeyWords:

Android;Opensourcesystem;linux;musicplayer

第一章引言

1.1项目背景

当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Windowsmobile,symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。

那么能否在手机上拥有自己编写的个性音乐播放器呢?

能的,谷歌Android系统就能做到。

本文的音乐播放器就是基于谷歌Android手机平台的播放器。

Android:

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

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

本次作品音乐播放器就是基于Android平台的。

随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。

于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。

针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:

还能播放RMVB格式的视频文件。

此外,还能支持中文、英文等语言界面。

要研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。

目前已经实现的功能有能播放常见音频文件的功能,如MP3,WAV,等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。

播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。

1.2编写目的

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

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

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

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

第二章系统需求分析

2.1功能需求(用例图分析)

根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。

以下分别描述:

2.1.1播放器的基本控制需求

图2.1播放器基本控制图

用例名称:

播放

参与者:

用户

目标:

使得用户可以播放在播放列表中选中的歌曲

前置条件:

播放器正在运行

基本事件流:

1.用户单击“播放”按钮

2.播放器将播放列表中的当前的歌曲

用例名称:

暂停

参与者:

用户

目标:

使得用户可以暂停正在播放的歌曲

前置条件:

歌曲正在播放且未停止和暂停

基本事件流:

1.用户单击“暂停”按钮

2.播放器将暂停当前的歌曲

用例名称:

停止

参与者:

用户

目标:

使得用户可以停止正在播放的歌曲

前置条件:

歌曲正在播放或暂停

基本事件流:

1.用户单击“停止”按钮

2.播放器将停止当前播放的歌曲

用例名称:

上一首下一首

参与者:

用户

目标:

使得用户可以听上一首或下一首歌曲

前置条件:

歌曲正在播放或暂停

基本事件流:

1.用户单击“上一首或下一首”按钮

2.播放器将播放上一首或下一首歌曲

用例名称:

播放清单

参与者:

用户

目标:

使得用户可以进入播放清单

前置条件:

程序在运行

基本事件流:

1.用户单击“清单”按钮

2.播放器进入清单列表

2.1.2播放清单列表管理需求

当用户选中列表中某一项歌曲,就有的需求:

图2.2播放器清单

 

用例名称:

播放

参与者:

用户

目标:

使得程序播放选中的歌曲

前置条件:

程序运行在播放菜单选项中

基本事件流:

1.用户单击“播放”按钮

2.播放器进入播放状态

用例名称:

详细

参与者:

用户

目标:

使得程序显示歌曲详情

前置条件:

程序运行在播放菜单选项中

基本事件流:

1.用户单击“详细”按钮

2.显示歌曲详细状态

用例名称:

增加

参与者:

用户

目标:

使得程序进入手机扩展SD卡

前置条件:

程序运行在播放菜单选项中

基本事件流:

1.用户单击“增加”按钮

2.播放器进入手机扩展SD卡

用例名称:

移除全部移除

参与者:

用户

目标:

使选中的歌曲被移除

前置条件:

程序运行在播放菜单选项中

基本事件流:

1.用户单击“移除全部移除”按钮

2.播放器移除选中歌曲全部移除歌曲

用例名称:

设定

参与者:

用户

目标:

使得程序进入播放器设定状态

前置条件:

程序运行在播放菜单选项中

基本事件流:

1.用户单击“设定”按钮

2.播放器进入设定界面

2.1.3播放友好性需求

图2.3播放器设定

 

用例名称:

播放模式

参与者:

用户

目标:

使得程序进入播放模式设定状态

前置条件:

程序运行在播放器设定界面中

基本事件流:

1.用户单击“顺序、随机、单曲”按钮

2.播放器进入选中模式播放状态

用例名称:

歌词显示

参与者:

用户

目标:

使得程序进入播放器歌词设置状态

前置条件:

程序运行在播设定界面

基本事件流:

1.用户单击“歌词开关按钮”按钮

2.播放器显示或关闭歌词

2.1.4播放器扩展卡需求

图2.4文件浏览器

用例名称:

SDcard

参与者:

用户

目标:

使得程序进入SDcard目录

前置条件:

程序运行目录界面

基本事件流:

1.用户单击“Sdcard”选项

2.程序进入Sdcard目录下

 

用例名称:

System

参与者:

用户

目标:

使得程序进入System目录

前置条件:

程序运行目录界面

基本事件流:

1.用户单击“System”选项

2.程序进入System目录下

2.1.5功能需求(时序图)分析

音乐播放器的时序图分析如(图)

2.2系统结构图和流程图

(1)音乐播放器的系统流程图(图2.5.1)

图2.5.1流程图

(2)系统功能表(表2.1)和系统功能结构图(图2.5.2)

功能类别

子功能

子功能

播放列表

播放列表菜单

退出播放

从扩展卡寻找歌曲

歌曲菜单

播放->进入播放界面

删除->数据库同步更新

重命名->数据库同步更新

向上、下移动->数据库同步更新

播放界面

播放

播放歌曲->线程启动->时间更新

暂停

暂停歌曲->线程暂停->时间暂停

停止

停止歌曲->线程停止->时间停止

上一首

播放列表索引变化->寻找上一ID歌曲

下一首

播放列表索引变化->寻找下一ID歌曲

播放界面菜单

返回到播放列表

返回到主菜单

从扩展卡寻找歌曲

退出播放器

隐藏播放界面

主菜单

退出程序

程序退出

进入播放列表

显示播放列表

表2.1功能表

图2.5.2系统功能结构图

2.3系统界面需求

播放器界面要求布局合理,颜色舒适,控制按钮友好,为了减少开发工程量,图片素材多数为公司项目素材(图2.6)

图2.6播放器界面

说明:

左下角为清单按钮右下角为程序退出按钮

蓝色条为音轨

2.4系统性能需求

根据Android手机系统要求无响应时间为5秒,所以就有如下性能要求:

(1)当要求歌曲播放时,程序响应时间最长不能超过5秒

(2)当要求歌曲暂停时,程序响应时间最长不能超过5秒

(3)当要求歌曲停止时,程序响应时间最长不能超过5秒

(4)当要求歌曲上下一首时,程序响应时间最长不能超过5秒

(5)当要求进行清单列表时,程序响应时间最长不能超过5秒

2.5运行环境需求

操作系统:

Android手机基于Linux操作系统

支持环境:

Android1.5-2.0.1版本

开发环境:

Eclipse3.5ADT0.95

第三章Android数据库设计

数据结构组织和数据库文件设计要根据不同用途,使用要求等,来决定数据的整体组织形式等一系列问题。

数据库,顾名思义,是存放数据的仓库。

只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。

数据库中的数据按一定数据模型组织、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性,并且可以被在一定范围内的各种用户共享。

在涉及数据库的软件开发中,需要根据有待解决的问题性质、规模,以及所采用的前端程序创建工具等,做出合适的数据库类型选择

3.1数据库及字段属性设计

3.1.1字段设计(表、图)

file_table主要是保存歌曲名字、类型、路径

字段说明:

Id歌曲id号fileName歌曲名字filePath歌曲路径sort歌曲类型(表3.1、图3.1.1)

Android自带一个MediaStore封闭类专门来存储媒体信息

通过UriEXTERNAL_CONTENT_URI来访问SDcard中的歌曲详细信息。

存放媒体信息如TITLE(标题)、ARTIST(艺术家)、ALBUM(专辑)、SIZE(大小)(表3.2、图3.1.2)

属性

数据类型

允许空

主键

_Id

INTEGER

Notnull

Primarykey

fileName

TEXT

Notnull

filePath

TEXT

sort

INTEGER

表3.1

属性

数据类型

允许空

主键

_ID

INTEGER

Notnull

Primarykey

TITLE

TEXT

Notnull

ARTIST

TEXT

ALBUM

TEXT

SIZE

LONG

表3.2

图3.1.1歌曲列表

图3.1.2歌曲详细

3.1.2音乐播放器E-R图

音乐播放器E-R(实体-联系:

entity-relation图)图(图3.1.3)

图3.1.3E-R图

3.2数据库连接

这里将介绍如何进行Android数据库连接,Android中自带SQLite数据库,这是一个十分小型的数据库,这样正适合Android这种移动平台使用。

Android数据库存储的位置在datadata<项目文件夹>databases目录下Android是利用ContentProvider作为内容提供商,SQLiteOpenHelper数据库帮助类来进行对数据库的创建和操作。

通过Context.getContentResolver()方法直接对数据库进行操作。

程序中数据库类为DBHelperextendsSQLiteOpenHelper(继承关系),内容提供类DBProviderextendsContentProvider(继承关系)

3.2.1创建数据库

Android提供了标准的数据库创建方式。

继承SQLiteOpenHelper,实现onCreate和onUpgrade两个方法,有个好处就是便于数据库版本的升级,连接数据库的算法如下:

publicDBHelper(Contextcontext){创建数据库

super(context,DATABASE_NAME,null,DATABASE_VERSION);

}

publicvoidonCreate(SQLiteDatabasedb){创建时调用

db.execSQL(DATABASE_CREATE);

}

publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){版本更新时调用

db.execSQL("DROPTABLEIFEXISTSFile_Table");

onCreate(db);

}

@Override在ContextProvider运行时自动创建数据库

publicbooleanonCreate(){

dbOpenHelper=newDBHelper(getContext());

returntrue;

}

数据库如果创建不成功则抛出FIleNotFoundException异常

3.2.2操作数据库

Android对数据库的操作主要有插入、删除、更新、查询操作,在进行任何操作时都必须指定一个Uri,才能对相应的表进行数据操作。

数据库删除操作

@Override

publicintdelete(Uriarg0,Stringarg1,String[]arg2){

SQLiteDatabasedb=dbOpenHelper.getWritableDatabase();

try{

Db.delete(FileColumn.TABLE,arg1,arg2);

}catch(Exceptionex){

ex.printStackTrace();

}return1;

}

@Override数据库插入操作

publicUriinsert(Uriuri,ContentValuesvalues){

SQLiteDatabasedb=dbOpenHelper.getWritableDatabase();

longcount=0;

try{count=db.insert(FileColumn.TABLE,null,values);

}catch(Exceptionex)

{ex.printStackTrace();}

if(count>0)returnuri;

elsereturnnull;

}

数据库更新操作

@Override

publicintupdate(Uriuri,ContentValuesvalues,Stringselection,String[]selectionArgs){

SQLiteDatabasedb=dbOpenHelper.getWritableDatabase();

inti=0;

try{

i=db.update(FileColumn.TABLE,values,selection,null);returni;

}catch(Exceptionex){}

return0;

}

3.2.3数据显示

程序是利用Cursor游标类指向数据表中的某一项,然后进行查询数据,用Log日志显示出来

@Override数据库查询操作

publicCursorquery(Uriuri,String[]projection,Stringselection,String[]selectionArgs,StringsortOrder){

SQLiteDatabasedb=dbOpenHelper.getWritableDatabase();

依次参数为:

表名,查询字段,where语句,替换,groupby(分组),.TABLE,projection,selection,selectionArgs,null,null,sortOrder);returncur;}

第四章Android项目介绍

4.1什么是Android?

4.1.1Android简介

Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。

目前最好的是Android2.0的摩托罗拉Droid

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

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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