基于android平台的音乐播放器学士学位论文.docx

上传人:b****2 文档编号:16965942 上传时间:2023-07-20 格式:DOCX 页数:56 大小:1.78MB
下载 相关 举报
基于android平台的音乐播放器学士学位论文.docx_第1页
第1页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第2页
第2页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第3页
第3页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第4页
第4页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第5页
第5页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第6页
第6页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第7页
第7页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第8页
第8页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第9页
第9页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第10页
第10页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第11页
第11页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第12页
第12页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第13页
第13页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第14页
第14页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第15页
第15页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第16页
第16页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第17页
第17页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第18页
第18页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第19页
第19页 / 共56页
基于android平台的音乐播放器学士学位论文.docx_第20页
第20页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于android平台的音乐播放器学士学位论文.docx

《基于android平台的音乐播放器学士学位论文.docx》由会员分享,可在线阅读,更多相关《基于android平台的音乐播放器学士学位论文.docx(56页珍藏版)》请在冰点文库上搜索。

基于android平台的音乐播放器学士学位论文.docx

基于android平台的音乐播放器学士学位论文

 

毕业论文

 

题目:

基于android平台的音乐播放器

 

基于android平台的音乐播放器

摘要

随着中国进入3G时代,整个软件行业也开始从PC时代逐步转移到后PC时代,从互联网时代转移到移动互联网时代。

这个时代是一个充满机遇与挑战的时代,三大运营商进入了新一轮的角逐,手机厂商开始了新一轮的战役,在这场战役中以操作系统为主要武器,苹果的IOS,诺基亚的塞班,微软的WindowsMobile,Google的Android。

在这场战役中Android异军突起,用了不到三年的时间将诺基亚塞班拉下马,成为世界上最炙手可热的手机操作系统。

目前Android是最热门的操作系统,凭借Linux的软件优势其应用的广泛程度已经让其他对手相形见绌。

所以开发基于Android操作平台的应用具有巨大的意义。

本文就在分析讨论Android手机软件开发技术原理的基础上,开发出能为用户提供更好的基于Android平台的音乐播放器软件。

 

关键字:

3G;android;智能手机平台:

音乐播放器

目录

第1章绪论4

1.1项目背景4

1.2编写目的及意义4

1.3本项目实现的基本目标和研究目的5

1.4参考资料5

第2章项目需求分析5

2.1系统界面需求5

2.2系统结构图和流程图6

2.3功能需求7

2.3.1播放器的基本控制需求7

2.3.2播放清单列表管理需求9

2.3.3播放友好性需求10

2.3.4功能需求分析11

2.4系统性能需求11

2.5运行环境需求11

第3章Android数据库设计12

3.1数据库表的介绍12

3.2数据库的连接13

第4章Android项目介绍16

4.1开发语言简介16

4.2搭建Android开发环境20

4.3Android音乐播放器的工程21

第5章系统功能详细设计25

5.1欢迎界面模块详细设计25

5.2主界面模块详细设计27

5.3播放列表模块详细设计29

5.4歌曲播放模块详细设计32

5.5会员登录模块详细设计34

5.6会员注册模块详细设计37

第6章系统测试39

6.1登陆功能测试39

6.2音乐播放功能测试41

第7章总结41

致谢42

第1章绪论

1.1项目背景

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

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

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

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

Android:

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

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

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

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

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

1.2编写目的及意义

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

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

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

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

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

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

1.3本项目实现的基本目标和研究目的

本文要实现的基本目标和主要研究内容有以下几个方面:

(1)开场动画。

(2)音乐播放器的基本功能(播放,暂停,停止,上一首,下一首,音量调节,歌词显示等等)。

(3)本地音乐的管理,自动扫描SD卡的音乐,在列表显示30秒以上的音频文件。

(4)底部菜单{我的音乐(主界面),随便听听(联网),搜歌(联网),功能菜单}。

(5)会员登陆/注册(登陆成功后进入的云端好音乐,随时听好听的音乐)。

(6)歌曲的播放模式及各种设置

1.4参考资料

《android初级教程》《android中级教程》《android高级教程》

《基于JSP的Web应用开发》以上文献,全部来自安博教育集团组编。

第2章项目需求分析

2.1系统界面需求

播放器界面要求布局合理,颜色舒适,控制按钮友好,要求整体有一个主要的元素标准,统一的主题思想。

例如登陆界面:

2.2系统结构图和流程图

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

图2.2.1

(2)系统功能表(表2.2.2.1)

功能类别

子功能

子功能

 

播放列表

 

播放列表菜单

退出播放

从扩展卡寻找歌曲

歌曲菜单

播放->进入播放界面

删除->数据库同步更新

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

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

 

播放界面

 

播放

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

暂停

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

停止

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

上一首

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

下一首

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

 

播放界面菜单

返回到播放列表

返回到主菜单

从扩展卡寻找歌曲

退出播放器

隐藏播放界面

主菜单

退出程序

程序退出

进入播放列表

显示播放列表

表2.2.2.1

2.3功能需求

2.3.1播放器的基本控制需求

如图:

图2.3.1播放器基本功能图

 

用例名称:

播放

参与者:

用户

目标:

使得程序播放选中的歌曲

前置条件:

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

基本事件流:

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

2.播放器进入播放状态

用例名称:

暂停

参与者:

用户

目标:

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

前置条件:

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

基本事件流:

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

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

用例名称:

停止

参与者:

用户

目标:

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

前置条件:

歌曲正在播放或暂停

基本事件流:

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

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

用例名称:

上一首/下一首

参与者:

用户

目标:

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

前置条件:

歌曲正在播放或暂停

基本事件流:

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

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

2.3.2播放清单列表管理需求

图2.3.2播放器基本功能图

用例名称:

播放

参与者:

用户

目标:

使得程序播放选中的歌曲

前置条件:

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

基本事件流:

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

2.播放器进入播放状态

用例名称:

返回

参与者:

用户

目标:

使得程序返回上一层

前置条件:

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

基本事件流:

1.用户单击“返回”按钮

2.返回到主界面

用例名称:

删除

参与者:

用户

目标:

使选中的歌曲删除

前置条件:

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

基本事件流:

1.用户单击“删除”按钮

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

2.3.3播放友好性需求

用例名称:

播放模式

参与者:

用户

目标:

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

前置条件:

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

基本事件流:

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

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

用例名称:

歌词显示

参与者:

用户

目标:

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

前置条件:

程序运行在播设定界面

基本事件流:

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

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

2.3.4功能需求分析

功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了用户的业务需求。

用户需求文档描述了用户使用产品必须要完成的任务。

针对音乐播放器分别对音乐播放、在线音乐播放及会员特权的换肤等功能进行详细的调研和分析。

2.4系统性能需求

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

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

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

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

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

2.5运行环境需求

操作系统:

Android手机基于Linux操作系统

支持环境:

Android1.5-4.0.3版本

开发环境:

MyEclipse8.5ADT0.95MySQLTocat6.0

第3章Android数据库设计

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

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

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

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

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

3.1数据库表的介绍

本系统采用MySQL数据库系统,在该系统中新建一个数据库,将其命名为mediaplayer.sql。

然后,在该系统中创2个数据库表,分别为会员信息表(table_user)、云播放列表(table_cloudlist)。

下面对主要的数据库表做简要的介绍:

表3.1音乐播放器表清单

表名称

表用途

table_user

会员信息表

table_cloudlist

云播放列表

3.1.1用户注册表

会员信息表包含了用户的ID、用户名、密码、邮箱。

表3.1.1会员信息表

列名

数据类型

长度

字段描述

UserID

int

11

用户ID,主键,自动增长

UserName

varchar

50

用户名

Password

varchar

20

用户密码

Email

varchar

50

用户邮箱

3.1.2云播放列表

云播放列表包含了列表的ID、歌名、歌手名字。

表3.1.1会员信息表

列名

数据类型

长度

字段描述

ListID

int

11

L列表ID,主键,自动增长

MusicName

varchar

50

歌名

SingerName

varchar

20

歌手名字

3.2数据库的连接

该项目需要客户端和服务器端的连接,进行数据的交互,查询,添加等活动。

所以服务器端必须先与数据连接,进行数据交互,就是所谓的后台服务。

服务器端连接数据库,需要JDBC的支持。

JDBC的全称是JaveDataBaseConnectivity(Java数据库连接,严格的讲,JDBC是SunMicrosystems注册的商标而非缩写)。

JDBC是SUN公司定义的Java操作数据库的规范(一系列接口)。

通过JDBC可以操作任何的关系数据库(前提是具备数据库JDBC驱动程序)。

3.2.1JDBC工作原理

JDBC定义了一座操作数据库的接口,不同的数据库厂商提供了JDBC接口的实现,这个实现称为JDBC驱动。

这样就可以通过JDBC接口来对不同的数据库获得统一的操作。

JDBC工作原理如图:

最顶层是我们编写的Java的应用程序,Java应用程序通过JDBCAPI来连接和操作数据库,JDBCAPI定义了访问数据库的接口和类,其中一些接口由不同的数据库厂商来实现。

这些不同的数据库厂商提供的JDBC驱动程序需要由JDBCManager来管理,JDBCDriverManager管理的这些不同数据库厂商的JDBC驱动程序,负责连接各种不同的数据库。

3.2.2JDBCAPI

简单地说,JDBCAPI可做的三件事:

与数据库建立连接,发送并执行SQL语句,获取处理结果。

如图所示:

3.2.3JDBC程序访问数据库

JDBC访问数据库的过程我们可以分解为1个准备和8个步骤(天龙八部),如图所示:

Ø1个准备:

从官网上下载MySQL数据库JDBC驱动的jar包:

mysql-connector-java-3.1.11-bin.jar文件,将jar包放到Web应用放在WEB-INF/lib目录中

Ø8个步骤(天龙八部):

(1)第一步:

加载并注册连接数据库的驱动程序类

举个例子:

Class.forName(com.mysql.jdbc.Driver);

(2)第二步:

创建与数据库的连接

举个例子:

StringURL="jdbc:

mysql:

//localhost:

3306/mediaplayer";

Connectioncon=DriverManager.getConnection(URL,数据库名,密码);

(3)第三,四步:

查询数据库

举个例子:

Stringstr="select*fromtable_cloudlist";

pstmt=conn.prepareStatement(str);

(4)第五步:

处理结果

举个例子:

rs=pstmt.executeQuery();

while(rs.next()){

CloudListclist=newCloudList();

clist.setListID(rs.getInt

(1));

clist.setMusicName(rs.getString

(2));

clist.setSingerName(rs.getString(3));

clists.add(clist);

}

(5)第六、七、八步:

关闭结果集、查询语句及数据库的连接(注意关闭的顺序先ResultSet再PreparedStatement最后为Connection)

举个例子:

finally{

DBC.close(rs);

DBC.close(pstmt);

DBC.close(conn);

}

第4章Android项目介绍

4.1开发语言简介

4.1.1Android简介

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

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

它采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分。

低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。

另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。

Android在未公开之前常被传闻为Google电话或gPhone。

大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。

到了2010年1月,Google开始发表自家品牌手机电话的NexusOne。

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

4.1.2AndroidFeatures特性

Android系统有如下的几大特性:

v应用程序框架支持组件的重用与替换

vDalvik虚拟机专门为移动设备做了优化

v内部集成浏览器该浏览器基于开源的WebKit引擎

v优化的图形库包括2D和3D图形库,3D图形库基于OpenGLES

vSQLite用作结构化的数据存储

v多媒体支持包括常见的音频、视频和静态印象文件格式(如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF)

vGSM电话(依赖于硬件)

v蓝牙Bluetooth,EDGE,3GandWiFi(依赖于硬件)

v照相机,GPS,指南针,和加速度计(依赖于硬件)

v丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件

4.1.3Android基本框架(AndroidArchitecture)

(1)Applications

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

所有的应用程序都是用JAVA编写的。

(2)ApplicationFrameWork

开发者完全可以访问核心应用程序所使用的API框架。

该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。

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

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

✧可扩展的视图(Views)可以用来建应用程序,包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至包括一个可嵌入的web浏览器

✧内容管理器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

✧资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和分层文件(layoutfiles)。

✧通知管理器(NotificationManager)使得应用程序可以在状态栏中显示客户通知信息。

✧活动类管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。

(3)Libraries库

Android包括一个被Android系统中各种不同组件所使用的C/C++库集。

该库通过Android应用程序框架为开发者提供服务。

以下是一些主要的核心库:

系统C库-一个从BSD继承来的标准C系统函数库,专门为基于embeddedlinux的设备定制。

媒体库-基于PacketVideoOpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。

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

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

SGL-一个内置的2D图形引擎3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。

FreeType-位图(bitmap)和向量(vector)字体显示。

SQLite一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

(4)AndroidRuntime

Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。

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

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

Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。

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

Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。

(5)Linux内核

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

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

未来发展老牌智能手机软件平台制造商Symbian发言人则表示:

Google的Android只不过是另一个linux,symbian对其它软件与其形成的竞争并不感到担心。

除了北美之外,Symbian在其它地区智能手机市场都占有大部分市场份额。

与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。

4.1.4Android系统的四大组件

在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。

下面分别介绍四大组件:

(1)Activity简介

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

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

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

(2)Service简介

顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了。

一个定义好的Service必须在AndroidManifest.xml配置文件注册,通过元素声明才能使用.Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService()方法来绑定一个存在的Service

(3)BroadcastReceiver简介

BroadcastReceiver顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(

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

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2