基于Android的音乐播放器的设计与实现.docx

上传人:b****4 文档编号:12162306 上传时间:2023-04-17 格式:DOCX 页数:31 大小:1.15MB
下载 相关 举报
基于Android的音乐播放器的设计与实现.docx_第1页
第1页 / 共31页
基于Android的音乐播放器的设计与实现.docx_第2页
第2页 / 共31页
基于Android的音乐播放器的设计与实现.docx_第3页
第3页 / 共31页
基于Android的音乐播放器的设计与实现.docx_第4页
第4页 / 共31页
基于Android的音乐播放器的设计与实现.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

基于Android的音乐播放器的设计与实现.docx

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

基于Android的音乐播放器的设计与实现.docx

基于Android的音乐播放器的设计与实现

摘要

如今科技发展迅速日新月异,人们的生活水平相比以前有了质的飞跃。

生活节奏变快,对各种生活的质量要求也变得更高。

从前人们只在乎功能性的技术,现在技术饱满了,更追求视觉感官的一个体验。

这次我主要设计并实现了Android音乐播放器应用。

这次的项目主要使用了Android技术,编写语言则是Java,开发工具用到的是我们常用的Eclipse。

本文给出了详细的设计过程,系统流程图和主要功能的一部分训练图,提供了详细的系统设计过程,一些界面图和主要功能的流程图。

本文详细介绍和解释了开发过程中遇到的问题和解决方案。

其具有播放,暂停,停止,上一首歌曲,下一首歌曲,音量控制,用户评论等功能,可以在Android系统中独立运行。

本播放器还可以对手机SD卡进行访问。

关键词:

AndroidSD卡音乐播放器

 

第1章绪论

1.1选题的目的及意义

回到2007年,当时谷歌公司发布一则令人振奋的消息,他们研发了一种开发式的源代码手机系统,也就是现在我们常说的Android系统。

Android系统的开放性比其它封闭式的手机系统都要好,因此人们可以自定义重新编写手机系统中的功能。

这使得更多的人投身到这个系统的开发中来。

此次设计的音乐播放器就是基于Android平台的。

在现代,网络对于人们来说已经不是什么稀奇东西,现在基本每家每户家里都装有网络,人们不仅可以在网络上学习,还可以享受网络带来的各种衍生品所带来的乐趣,像打游戏,听音乐。

音乐播放器的诞生是为了满足人们的日常需求。

它给人们的日常生活带来了极大的乐趣。

各种音频视频资源都在Internet上广泛的传播,并逐渐成为人们生活的一部分。

基于这种情况,对行业市场前景进行了透彻的分析以及对用户需求的调查表明,手机市场的飞速发展使手机音乐播放器变得越来越流行,而Android音乐播放器也诞生了。

我发现然而,市场上的许多播放器仅在外观上显得浮华,并且具有不同的功能,这导致了手机资源的大量浪费。

例如,当CPU和内存占用率过高并且用户需要多任务操作时,它将受到影响。

针对上述不利影响,我们开发了更适合大众的音乐播放器,优化了各种性能,同时具有播放器的通用功能,可以满足通用用户的需求,并提供通用格式的音乐文件。

您可以播放,控制进度条和控制音量。

在此闲余的时间里我研究了一些市面上大众化的音乐播放器,熟悉它们的插件和编码方式以及播放的格式文件,分析不同编码的优缺点以及各种播放器自身的一些不足和一些特点,并且编译了实用功能,使播放器快速便捷。

音乐播放器在创作,交流和欣赏方面对音乐的发展产生了前所未有的影响:

(1)智能手机的普及使更多的人可以访问更多不同类型的音乐。

(2)音乐播放器为网络音乐的创建提供了更多便利。

(3)音乐播放器改变了音乐欣赏的方式。

(4)音乐播放器推动了音乐的传播,也促使了电子数字产品的升级。

1.2本课题涉及内容的研究现状

我们现在可以看到,现在的Android图标是一个机器人,就是英文翻译过来的意思。

在2007年,Google宣布将Android命名为基于Linux平台的开源移动操作系统,其中包括操作系统,中间件,用户界面和应用程序软件。

Android是基于Linux内核的软件平台和操作系统,最早是Google在开发,后来成立开发手机联盟之后,就由开发手机联盟开发,它的体系架构就是软件堆层,主要分为三个部分,一部分是底层,在Linux内核基础上,提供基本的一些功能;其他部分就是除此之外的应用程序软件,则是由各公司各自开发;剩下一部分的程序就以Java来编写。

为了推广这项技术,谷歌与其他数十家手机公司组成了开放式手机联盟。

Android可能是GooglePhone或iPhone,然后才向公众发布。

人们都觉得Google是在开发自己的手机产品,而不是所谓的软件平台。

直到2010年1月,NexusOne横空出世,当时的SDK版本为最新的Android4.0.3,这是谷歌发布的属于自己的品牌。

对于我们的学习爱好者和网民来说,互联网上有着非常丰富的超媒体资源,只要他们想,还可以打造出一种自由控制的娱乐环境。

如果长时间手动搜索互联网,会感到茫然无措,会使网民的兴趣骤然下降。

特别是对于音乐软件来说,很少有系统可以实现网络音乐库的功能,而且也没有涉及这几个方面:

没有系统可以在线进行实时选择,并且检索和分类不容易。

单个音乐播放器只能线性,不是分层的或网状性的,相对于方便性和相关性的查询不方便;用户每次只能重复搜索,并且了无法记录他们的以前的收藏和喜好,这样浪费了一定的时间和网络资源等。

总而言之,音乐播放器的质量严重影响着网民的上网时间,音乐系统和系统的效率产生了严重的影响。

因此,Android音乐播放器是非常必要的娱乐系统,并且仍有很大的发展空间。

1.3本系统要实现的基本目标和研究内容

主要目标和研究内容:

(1)歌曲播放,包括歌曲的切换、暂停、控制进度条;

(2)本地音乐管理,从SD卡浏览音乐,列出音频文件;

(3)歌词显示,音量控制;

(4)音乐播放器的界面设计。

第2章相关技术介绍

现在人们的生活节奏变得越来越快,我们依赖于手机的程度很大的提高,这主要体现在平常的生活之中。

比如滴滴打车,外卖,淘宝,支付宝,微信等,五花八门,各种各样的场合之中都需要他的存在,所以我们也要与时俱进,学习并且尝试的去使用手机等。

你的手机上能有属于自己的音乐播放器吗?

那就拥有一部Android手机吧。

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

2.1相关技术介绍

2.1.1AndroidFeatures特性

Android有以下特点:

◆应用程序框架支持组件的重用和替换

◆Dalvikvm是专门针对移动设备进行优化的

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

◆优化后的图形库包括基于OpenGLES的二维和三维图形库

◆SQLite用于存储结构化数据

◆多媒体支持包括常见的音频、视频和静态图像文件格式(如MPEG4、h。

264,MP3,AAC,AMR,JPG,PNG,GIF)

◆GSM电话(硬件相关)

◆蓝牙、EDGE、3G和WiFi(硬件相关)

◆相机、GPS、指南针和加速度计(硬件相关)

◆开发环境包括设备仿真器、调试工具、内存和性能分析图,以及Eclipse集成开发环境插件。

 

2.1.2Android基本框架

Android平台的基本框架如图2-1所示。

图2-1Android基本框架图

2.2Android开发环境的搭建

Android只能在其环境中运行。

以下是Android开发环境的配置。

构建开发环境所需的软件:

1)操作系统:

windowXP或linux

2)软件包:

AndroidSDK、ADT

3)IDE环境:

EclipseIDE+ADTEclipse3.3以上

4)JDK:

JavaRuntimeEnvironment虚拟机、(JDK)JavaDevelopmentkit

操作如下:

第一步:

安装对应版本的Java虚拟机,这里我们选择sun-java6-jdk版本。

第二步:

安装Eclipse3.5工具,选择我们所需要的版本,然后进行一个下载安装(如图2-2)

Eclipse工具的版本如图2-2所示:

图2-2Eclipse工具的版本图

第三步:

安装AndroidSDK:

到Http:

//developer.A选择相应的系统,然后进行一个下载安装。

 

sdk下载的地址图如图2-3所示:

图2-3sdk下载的地址图

第四步:

安装AndroidADT插件。

运行Eclipse,选择help->installnewsoftware选择add,将会弹出一个【AddSite】对话框。

【AddSite】对话框如图2-4:

图2-4【AddSite】对话框图

 

设置AndroidSDKHome界面如图2-5所示:

图2-5设置AndroidSDKHome界面图

在SDKlocation框中选择D:

\Androidsoftware\Android-sdk-windows点击OK确定,如此一来,Android环境就可以成功搭建了。

 

第3章系统分析

软件开发可行性研究就是软件预计划和市场研究的分析报告。

一份好的可行性研究报告对于项目的进一步发展具有重要意义。

可行性研究的目的是在最短的时间内用最少的成本解决一个特定的问题。

简单地说,可行性分析是系统开发前的一个预览过程,它以一种抽象的方式展示了系统分析和设计的整个过程。

接下来的部分将为整个基于android的音乐播放器的开发和设计提出合适、可行的设计方案,并对整个方案进行论证。

3.1可行性分析

可行性分析是站在较为抽象的层次上来实质性的对系统进行分析的过程。

其目的不是想办法怎么去解决这个问题,而是利用短时间和各方面最小的成本来确认这个问题是否值得去解决。

本系统的可行性分析主要从以下两个方面进行深入探讨。

3.1.1经济上的可行性

经济上的可行性主要是对开发成本和今后所带来的效益进行比较衡量,来决定是否有可行性。

设计开发此款软件需要的投资是少之又少,开发所需要的软硬件环境皆容易获得,一般配置的电脑都可以使用,并且后期维护是相当方便的。

由此可知该系统在经济效益上是可行的。

3.1.2技术上的可行性

谷歌围绕Android推出一项伟大的项目,由多个领军企业组成,其中包括我们熟悉的中国移动,三星等等,目的就是为了以最低成本研发多种技术,这就是所谓的开发手机联盟。

随着近些年计算机技术的发展日新月异,许多中小企业都有能力和技术来开发自己的系统,可以满足不同行业的需求。

这款音乐播放器是用Android技术开发的,播放音乐是完全可行的。

数据库使用SQLite,提高了数据读取的速度和数据的灵活性。

因此,该系统在技术上是可行的。

3.1.3系统可行性分析

本系统的音乐播放器为大众所熟知操用,可以让人们在管理操作歌曲文件更加方便明了。

该系统应实现下列目标:

(1)采用人机交互,可个性化、操作方便易懂,界面简单美观

(2)可以管理操作歌曲文件。

(3)系统应该持有易维护、易操作的特性。

在以上三个方面的基础下,该系统在经济、技术和操作上都具有较高的可行性。

因此,可以对系统进行设计和开发。

3.2系统功能需求分析

功能需求定义了开发人员需要实现的一些软件功能,以使用户能够执行自己想满足其业务需求的事情。

用户的需求文档描述了用户用来完成产品的任务。

对音乐播放器的音乐播放,歌词显示和音量调节功能进行广泛的研究和分析,并总结用户所需的信息。

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

本系统接口为侧滑接口,设计巧妙,方便快捷。

界面内容包括:

本地音乐,我的下载,最近播放。

这次主要针对的是音乐播放中心的接口。

图3-1系统类图

系统提供欢迎与引导界面、菜单界面与主界面、播放中心三个功能。

欢迎与引导界面包括欢迎界面和引导界面两部分;菜单界面与主界面包括菜单主界面和侧滑菜单两部分;音乐播放中心界面中包括音乐列表、歌曲名称、歌手、音乐详情、歌词显示、音乐下载。

每个功能既独立存在,又互相关联。

协调统一,构成整个系统。

(1)模块1:

欢迎与引导界面

系统的开始界面,通过欢迎界面,引导界面,直观的引导用户进入体验。

(2)模块2:

菜单界面与主界面

进入主界面后可以选择浏览首页、播放中心。

(3)模块3:

音乐播放中心模块

音乐列表、歌曲名称、歌手、音乐详情、歌词显示、音乐下载等。

3.3系统性能需求分析

根据Android手机系统的要求,没有响应的时间为3秒,故性能要求如下:

1)播放一首音乐时,程序的最大响应时间不超过3秒

2)音乐暂停时,程序的最大响应时间不超过3秒

3)当歌曲on/next被请求时,程序的最大响应时间不超过2秒

4)运行进度条时,程序的最大响应时间不超过2秒

5)调节音量时,程序的最大响应时间不超过2秒

整个项目是基于Android开发的,而该技术在当下比较成熟,对于有该方面知识储备的人员来说可以轻松上手,可以根据市场需要进行调整,实用性强很好的实现用户需求。

项目会采用较友好的交互界面,简单明了,直观的引导用户在体验时浏览想要知道的信息,不需要繁琐的操作过程,尽量使用户体验到方便、快捷的互联网客户端。

在用户体验过程中,各个页面之间清晰明了,方便用户选择不同的页面,并且页面返回时不能有bug。

操作过程中,响应时间快,流畅且不能有卡屏、卡顿现象,对于网络数据,需要实现本地缓存,不能影响用户操作体验。

 

第4章系统设计

软件功能设计是使软件基本上可以实现音乐播放,上一个,下一个,暂停等功能,用户可以通过软件享受音乐。

歌词显示功能,用户可以边听边看歌词,音量控制功能,用户可以调节所需音量。

4.1设计思想

(1)系统可划分为多个模块,各个模块之间不受影响。

(2)分层模块化程序设计思想,整个系统采用模块化结构设计。

(3)符合逻辑的数据流程设计。

互不影响的模块之间通过数据流相互连接,因此模块之间的连接较少,有利于系统的运行,提高了系统的安全性。

4.2系统总体设计

根据上述需求,本次的音乐播放器可分为下面几个模块:

播放器基本功能如图4-1所示:

图4-1播放器基本功能图

 

播放清单列表如图4-2所示:

图4-2播放器清单列表图

从图中可以看出播放功能的参与者是用户,这体现了客户的要求,当用户选中列表中的一首歌时,会有一个列表选项,具备播放、移除功能。

4.3系统模块设计

系统分为五个不同的模块,分别是主界面模块,音乐列表模块,用户评论模块,歌曲搜索模块,每日推荐模块,接下来分别对这五个模块分开设计。

4.3.1主界面模块设计

主界面主要展示和系统有关的主要功能,为了方便用户进行操作,系统使用了以块的方式展示每个不同的模块,音乐列表模块占据了界面的下半部分,搜索模块在界面顶部,评论模块在和歌曲一个地方,每日推荐模块就在搜索模块的下方。

图4-3主界面设计图

 

4.3.2音乐列表模块设计

音乐列表详细设计,它主要分为三个部分,一个是音乐的列表,二是在列表的左侧存在两个按钮:

一个评论按钮,一个是分享按钮,如图:

图4-4音乐列表设计图

 

4.3.3用户评论模块设计

用户评论模块在用户需要评论歌曲的时候就会进入到该界面,界面包含了当前用户的评论和以前其他用户对当前歌曲的评论,界面设计如图:

图4-5用户评论设计图

 

4.3.4歌曲搜索模块设计

歌曲搜索模块提供了用户搜索歌曲的功能,在主界面有一个搜索界面的入口,用户只要输入关键词然后搜索就可以跳转到搜索结果界面,界面如图:

图4-6歌曲搜索界面设计

 

4.3.5每日推荐模块设计

每日推荐模块设计的初衷就是为了方便用户,那么他的界面设计如图:

图4-7每日推荐界面设计

 

第5章系统实现

5.1主界面模块实现

在主界面的设计中,使用LinearLayout布局和Animation效果。

欢迎界面关键代码:

//动画监听

loadAnimation.setAnimationListener(newAnimationListener(){

//当动画开始的时候,回调该方法

@Override

publicvoidonAnimationStart(Animationanimation){

}

//当动画重复的时候回调该方法

@Override

publicvoidonAnimationRepeat(Animationanimation){

}

//当动画结束的时候回调该方法

@Override

publicvoidonAnimationEnd(Animationanimation){

//Toast.makeText(getApplicationContext(),"动画结束",0).show();

//界面跳转,是否第一次使用5.3取得键值对的值

booleanisFirstUse=mSp.getBoolean("isFirstUse",true);//默认是第一次使用

//,即true

Intentintent=newIntent();

if(isFirstUse){

//假如第一次使用本应用,跳转到引导页面

intent.setClass(getApplicationContext(),

GuideActivity.class);

}else{

//假如不是第一次使用本应用,跳转到主页面

intent.setClass(getApplicationContext(),MainActivity.class);

}

startActivity(intent);//执行意图,跳转到目标组件

finish();//销毁当前的欢迎界面

}

});

//4.执行动画

welcomeIv.startAnimation(loadAnimation);

}

引导界面关键代码:

//初始化ViewPager要装配的页面

privatevoidinitPager(){

pagers=newArrayList();

//1构建ImageView对象

ImageViewimageView1=newImageView(this);

imageView1.setBackgroundResource(R.drawable.guide_1);//设置背景属性

//2把ImageView添加到集合中,便于操作该对象

pagers.add(imageView1);

ImageViewimageView2=newImageView(this);

imageView2.setBackgroundResource(R.drawable.guide_2);//设置背景属性

pagers.add(imageView2);

ImageViewimageView3=newImageView(this);

imageView3.setBackgroundResource(R.drawable.guide_3);//设置背景属性

pagers.add(imageView3);

}

/**

*点击开始体验按钮,则回调该方法

*-控件设置了android:

onClick="enterHome"属性

*-该方法是public修饰符且带View参数,无返回值

*/

publicvoidenterHome(Viewv){

//1.跳转到主界面

Intentintent=newIntent();

intent.setClass(getApplicationContext(),MainActivity.class);

startActivity(intent);

//2.把是否第一次使用app的状态值变为false

mSp.edit().putBoolean("isFirstUse",false).commit();

//3.销毁当前的Activity

finish();

}

 

主界面模块运行结果如图5-1所示。

图5-1主界面

(1)页面设计

页面整体是LinearLayout布局,包含了一个ListView控件。

菜单主界面关键代码:

//1.1把主内容片段的xml布局实例化

ViewfragmentView=LayoutInflater.from(context).inflate(R.layout.fragment_home,null);

//1.2通过父控件引用子控件

mTabHost=(FragmentTabHost)fragmentView.findViewById(R.id.tabhost);

//1.3初始化底部标签

initTabHost();

returnfragmentView;

}

//2.初始化底部标签

privatevoidinitTabHost(){

mTabHost.setup(context,getChildFragmentManager(),R.id.fl_container);

//2.2添加标签到FragmentTabHost

for(inti=0;i

//2.2.1构建一个TabSpectag:

标签的标记

TabSpecnewTabSpec=mTabHost.newTabSpec("tag"+i);

//2.2.2设置标签的指示器

TextViewindicatorView=

(TextView)View.inflate(context,R.layout.tab_indicator,null);

indicatorView.setText(tabTitles[i]);//设置TextView的text属性

//设置TextView顶部的图片属性

indicatorView.setCompoundDrawablesWithIntrinsicBounds

(null,getResources().getDrawable(tabIconReses[i]),null,null);

newTabSpec.setIndicator(indicatorView);

mTabHost.addTab(newTabSpec,tabfragmentClazz[i],null);

}

}

 

(2)代码编写

主界面模块主要用于改善用户体验,使用户能够轻松接受软件。

在编写代码之前,首先定义一个Animation类对象,方便在编写代码时调用类中的方法。

主要代码如下:

super.onCreate(savedInstanceState);

String[]strs={"打开音乐列表"};

ArrayAdapteradapter=newArrayAdapter(this,

android.R.layout.simple_list_item_1,strs);

listview=newListView(this);

listview.setAdapter(adapter);

listview.setOnItemClickListener(newOnItemClickListener(){

5.2音乐列表模块实现

点击主界面的打开音乐列

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

当前位置:首页 > 工程科技 > 能源化工

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

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