ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:1.15MB ,
资源ID:12162306      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12162306.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Android的音乐播放器的设计与实现.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、基于Android的音乐播放器的设计与实现摘要如今科技发展迅速日新月异,人们的生活水平相比以前有了质的飞跃。生活节奏变快,对各种生活的质量要求也变得更高。从前人们只在乎功能性的技术,现在技术饱满了,更追求视觉感官的一个体验。这次我主要设计并实现了Android音乐播放器应用。这次的项目主要使用了Android技术,编写语言则是Java,开发工具用到的是我们常用的Eclipse。本文给出了详细的设计过程,系统流程图和主要功能的一部分训练图,提供了详细的系统设计过程,一些界面图和主要功能的流程图。本文详细介绍和解释了开发过程中遇到的问题和解决方案。其具有播放,暂停,停止,上一首歌曲,下一首歌曲,音

2、量控制,用户评论等功能,可以在Android系统中独立运行。本播放器还可以对手机SD卡进行访问。关键词:Android SD卡 音乐播放器第1章 绪论1.1 选题的目的及意义回到2007年,当时谷歌公司发布一则令人振奋的消息,他们研发了一种开发式的源代码手机系统,也就是现在我们常说的Android系统。Android系统的开放性比其它封闭式的手机系统都要好,因此人们可以自定义重新编写手机系统中的功能。这使得更多的人投身到这个系统的开发中来。此次设计的音乐播放器就是基于Android平台的。在现代,网络对于人们来说已经不是什么稀奇东西,现在基本每家每户家里都装有网络,人们不仅可以在网络上学习,还

3、可以享受网络带来的各种衍生品所带来的乐趣,像打游戏,听音乐。音乐播放器的诞生是为了满足人们的日常需求。它给人们的日常生活带来了极大的乐趣。各种音频视频资源都在Internet上广泛的传播,并逐渐成为人们生活的一部分。基于这种情况,对行业市场前景进行了透彻的分析以及对用户需求的调查表明,手机市场的飞速发展使手机音乐播放器变得越来越流行,而Android音乐播放器也诞生了。我发现然而,市场上的许多播放器仅在外观上显得浮华,并且具有不同的功能,这导致了手机资源的大量浪费。例如,当CPU和内存占用率过高并且用户需要多任务操作时,它将受到影响。针对上述不利影响,我们开发了更适合大众的音乐播放器,优化了各

4、种性能,同时具有播放器的通用功能,可以满足通用用户的需求,并提供通用格式的音乐文件。您可以播放,控制进度条和控制音量。在此闲余的时间里我研究了一些市面上大众化的音乐播放器,熟悉它们的插件和编码方式以及播放的格式文件,分析不同编码的优缺点以及各种播放器自身的一些不足和一些特点,并且编译了实用功能,使播放器快速便捷。音乐播放器在创作,交流和欣赏方面对音乐的发展产生了前所未有的影响: (1)智能手机的普及使更多的人可以访问更多不同类型的音乐。(2)音乐播放器为网络音乐的创建提供了更多便利。(3)音乐播放器改变了音乐欣赏的方式。(4)音乐播放器推动了音乐的传播,也促使了电子数字产品的升级。1.2 本课

5、题涉及内容的研究现状我们现在可以看到,现在的Android图标是一个机器人,就是英文翻译过来的意思。在2007年,Google宣布将Android命名为基于Linux平台的开源移动操作系统,其中包括操作系统,中间件,用户界面和应用程序软件。Android是基于Linux内核的软件平台和操作系统,最早是Google在开发,后来成立开发手机联盟之后,就由开发手机联盟开发,它的体系架构就是软件堆层,主要分为三个部分,一部分是底层,在Linux内核基础上,提供基本的一些功能;其他部分就是除此之外的应用程序软件,则是由各公司各自开发;剩下一部分的程序就以Java来编写。为了推广这项技术,谷歌与其他数十家

6、手机公司组成了开放式手机联盟。Android可能是Google Phone或iPhone,然后才向公众发布。人们都觉得Google是在开发自己的手机产品,而不是所谓的软件平台。直到2010年1月, Nexus One横空出世,当时的SDK版本为最新的Android 4.0.3,这是谷歌发布的属于自己的品牌。对于我们的学习爱好者和网民来说,互联网上有着非常丰富的超媒体资源,只要他们想,还可以打造出一种自由控制的娱乐环境。如果长时间手动搜索互联网,会感到茫然无措,会使网民的兴趣骤然下降。特别是对于音乐软件来说,很少有系统可以实现网络音乐库的功能,而且也没有涉及这几个方面:没有系统可以在线进行实时选

7、择,并且检索和分类不容易。单个音乐播放器只能线性,不是分层的或网状性的,相对于方便性和相关性的查询不方便;用户每次只能重复搜索,并且了无法记录他们的以前的收藏和喜好,这样浪费了一定的时间和网络资源等。总而言之,音乐播放器的质量严重影响着网民的上网时间,音乐系统和系统的效率产生了严重的影响。因此,Android音乐播放器是非常必要的娱乐系统,并且仍有很大的发展空间。1.3 本系统要实现的基本目标和研究内容主要目标和研究内容:(1)歌曲播放,包括歌曲的切换、暂停、控制进度条;(2)本地音乐管理,从SD卡浏览音乐,列出音频文件;(3)歌词显示,音量控制;(4)音乐播放器的界面设计。第2章 相关技术介

8、绍现在人们的生活节奏变得越来越快,我们依赖于手机的程度很大的提高,这主要体现在平常的生活之中。比如滴滴打车,外卖,淘宝,支付宝,微信等,五花八门,各种各样的场合之中都需要他的存在,所以我们也要与时俱进,学习并且尝试的去使用手机等。你的手机上能有属于自己的音乐播放器吗?那就拥有一部 Android手机吧。本文设计的音乐播放器就是基于Android手机平台。2.1 相关技术介绍2.1.1 Android Features特性Android有以下特点:应用程序框架支持组件的重用和替换Dalvik vm是专门针对移动设备进行优化的内部集成的浏览器基于开源的WebKit引擎优化后的图形库包括基于Open

9、GL ES的二维和三维图形库SQLite用于存储结构化数据多媒体支持包括常见的音频、视频和静态图像文件格式(如MPEG4、h。264, MP3, AAC, AMR, JPG, PNG, GIF)GSM电话(硬件相关)蓝牙、EDGE、3G和WiFi(硬件相关)相机、GPS、指南针和加速度计(硬件相关)开发环境包括设备仿真器、调试工具、内存和性能分析图,以及Eclipse集成开发环境插件。2.1.2 Android基本框架Android平台的基本框架如图2-1所示。图2-1 Android基本框架图2.2 Android开发环境的搭建Android只能在其环境中运行。以下是Android开发环境的

10、配置。构建开发环境所需的软件:1) 操作系统:window XP或linux2) 软件包:Android SDK 、ADT3) IDE环境:Eclipse IDE+ADT Eclipse3.3以上4) JDK:Java Runtime Environment虚拟机 、(JDK)Java Development kit操作如下:第一步:安装对应版本的Java虚拟机,这里我们选择sun-java6-jdk版本。第二步:安装Eclipse3.5工具,选择我们所需要的版本,然后进行一个下载安装(如图2-2)Eclipse工具的版本如图2-2所示:图2-2 Eclipse工具的版本图第三步:安装Andr

11、oid SDK:到Http:/developer.A 选择相应的系统,然后进行一个下载安装。sdk下载的地址图如图2-3所示:图2-3 sdk下载的地址图第四步:安装Android ADT插件。运行Eclipse,选择help-install new software 选择add,将会弹出一个【Add Site】对话框。【Add Site】对话框如图2-4:图2-4 【Add Site】对话框图设置Android SDK Home界面如图2-5所示:图2-5 设置Android SDK Home界面图在SDK location框中选择D:AndroidsoftwareAndroid-sdk-w

12、indows 点击OK确定,如此一来,Android环境就可以成功搭建了。第3章 系统分析软件开发可行性研究就是软件预计划和市场研究的分析报告。一份好的可行性研究报告对于项目的进一步发展具有重要意义。可行性研究的目的是在最短的时间内用最少的成本解决一个特定的问题。简单地说,可行性分析是系统开发前的一个预览过程,它以一种抽象的方式展示了系统分析和设计的整个过程。接下来的部分将为整个基于android的音乐播放器的开发和设计提出合适、可行的设计方案,并对整个方案进行论证。3.1 可行性分析可行性分析是站在较为抽象的层次上来实质性的对系统进行分析的过程。其目的不是想办法怎么去解决这个问题,而是利用短

13、时间和各方面最小的成本来确认这个问题是否值得去解决。本系统的可行性分析主要从以下两个方面进行深入探讨。3.1.1 经济上的可行性经济上的可行性主要是对开发成本和今后所带来的效益进行比较衡量,来决定是否有可行性。设计开发此款软件需要的投资是少之又少,开发所需要的软硬件环境皆容易获得,一般配置的电脑都可以使用,并且后期维护是相当方便的。由此可知该系统在经济效益上是可行的。3.1.2 技术上的可行性谷歌围绕Android推出一项伟大的项目,由多个领军企业组成,其中包括我们熟悉的中国移动,三星等等,目的就是为了以最低成本研发多种技术,这就是所谓的开发手机联盟。随着近些年计算机技术的发展日新月异,许多中

14、小企业都有能力和技术来开发自己的系统,可以满足不同行业的需求。这款音乐播放器是用Android技术开发的,播放音乐是完全可行的。数据库使用SQLite,提高了数据读取的速度和数据的灵活性。因此,该系统在技术上是可行的。3.1.3 系统可行性分析本系统的音乐播放器为大众所熟知操用,可以让人们在管理操作歌曲文件更加方便明了。该系统应实现下列目标:(1)采用人机交互,可个性化、操作方便易懂,界面简单美观(2)可以管理操作歌曲文件。(3)系统应该持有易维护、易操作的特性。在以上三个方面的基础下,该系统在经济、技术和操作上都具有较高的可行性。因此,可以对系统进行设计和开发。3.2 系统功能需求分析功能需

15、求定义了开发人员需要实现的一些软件功能,以使用户能够执行自己想满足其业务需求的事情。用户的需求文档描述了用户用来完成产品的任务。 对音乐播放器的音乐播放,歌词显示和音量调节功能进行广泛的研究和分析,并总结用户所需的信息。播放器界面需要合理的布局,舒适的颜色,易于控制的按钮,整体要求主要元素标准,主题思想统一。本系统接口为侧滑接口,设计巧妙,方便快捷。界面内容包括:本地音乐,我的下载,最近播放。这次主要针对的是音乐播放中心的接口。图3-1系统类图系统提供欢迎与引导界面、菜单界面与主界面、播放中心三个功能。欢迎与引导界面包括欢迎界面和引导界面两部分;菜单界面与主界面包括菜单主界面和侧滑菜单两部分;

16、音乐播放中心界面中包括音乐列表、歌曲名称、歌手、音乐详情、歌词显示、音乐下载。每个功能既独立存在,又互相关联。协调统一,构成整个系统。(1)模块1:欢迎与引导界面系统的开始界面,通过欢迎界面,引导界面,直观的引导用户进入体验。(2)模块2:菜单界面与主界面进入主界面后可以选择浏览首页、播放中心。(3)模块3:音乐播放中心模块音乐列表、歌曲名称、歌手、音乐详情、歌词显示、音乐下载等。3.3系统性能需求分析根据Android手机系统的要求,没有响应的时间为3秒,故性能要求如下:1)播放一首音乐时,程序的最大响应时间不超过3秒2)音乐暂停时,程序的最大响应时间不超过3秒3)当歌曲on/next被请求

17、时,程序的最大响应时间不超过2秒4)运行进度条时,程序的最大响应时间不超过2秒5)调节音量时,程序的最大响应时间不超过2秒整个项目是基于Android开发的,而该技术在当下比较成熟,对于有该方面知识储备的人员来说可以轻松上手,可以根据市场需要进行调整,实用性强很好的实现用户需求。项目会采用较友好的交互界面,简单明了,直观的引导用户在体验时浏览想要知道的信息,不需要繁琐的操作过程,尽量使用户体验到方便、快捷的互联网客户端。在用户体验过程中,各个页面之间清晰明了,方便用户选择不同的页面,并且页面返回时不能有bug。操作过程中,响应时间快,流畅且不能有卡屏、卡顿现象,对于网络数据,需要实现本地缓存,

18、不能影响用户操作体验。第4章 系统设计软件功能设计是使软件基本上可以实现音乐播放,上一个,下一个,暂停等功能,用户可以通过软件享受音乐。歌词显示功能,用户可以边听边看歌词,音量控制功能,用户可以调节所需音量。4.1 设计思想(1)系统可划分为多个模块,各个模块之间不受影响。(2)分层模块化程序设计思想,整个系统采用模块化结构设计。(3)符合逻辑的数据流程设计。互不影响的模块之间通过数据流相互连接,因此模块之间的连接较少,有利于系统的运行,提高了系统的安全性。4.2 系统总体设计根据上述需求,本次的音乐播放器可分为下面几个模块: 播放器基本功能如图4-1所示:图4-1 播放器基本功能图播放清单列

19、表如图4-2所示:图4-2 播放器清单列表图从图中可以看出播放功能的参与者是用户,这体现了客户的要求,当用户选中列表中的一首歌时,会有一个列表选项,具备播放、移除功能。4.3 系统模块设计系统分为五个不同的模块,分别是主界面模块,音乐列表模块,用户评论模块,歌曲搜索模块,每日推荐模块,接下来分别对这五个模块分开设计。4.3.1 主界面模块设计 主界面主要展示和系统有关的主要功能,为了方便用户进行操作,系统使用了以块的方式展示每个不同的模块,音乐列表模块占据了界面的下半部分,搜索模块在界面顶部,评论模块在和歌曲一个地方,每日推荐模块就在搜索模块的下方。图4-3 主界面设计图4.3.2 音乐列表模

20、块设计 音乐列表详细设计,它主要分为三个部分,一个是音乐的列表,二是在列表的左侧存在两个按钮:一个评论按钮,一个是分享按钮,如图:图4-4音乐列表设计图4.3.3 用户评论模块设计用户评论模块在用户需要评论歌曲的时候就会进入到该界面,界面包含了当前用户的评论和以前其他用户对当前歌曲的评论,界面设计如图:图4-5用户评论设计图4.3.4 歌曲搜索模块设计 歌曲搜索模块提供了用户搜索歌曲的功能,在主界面有一个搜索界面的入口,用户只要输入关键词然后搜索就可以跳转到搜索结果界面,界面如图:图4-6 歌曲搜索界面设计4.3.5 每日推荐模块设计 每日推荐模块设计的初衷就是为了方便用户,那么他的界面设计如

21、图:图4-7每日推荐界面设计第5章 系统实现5.1 主界面模块实现在主界面的设计中,使用LinearLayout布局和Animation效果。欢迎界面关键代码:/动画监听 loadAnimation.setAnimationListener(new AnimationListener() / 当动画开始的时候,回调该方法 Override public void onAnimationStart(Animation animation) / 当动画重复的时候回调该方法 Override public void onAnimationRepeat(Animation animation) / 当

22、动画结束的时候回调该方法 Override public void onAnimationEnd(Animation animation) / Toast.makeText(getApplicationContext(), 动画结束, 0).show(); / 界面跳转 ,是否第一次使用 5.3 取得键值对的值 boolean isFirstUse = mSp.getBoolean(isFirstUse, true);/ 默认是第一次使用 / ,即true Intent intent = new Intent(); if (isFirstUse) / 假如第一次使用本应用, 跳转到引导页面 i

23、ntent.setClass(getApplicationContext(), GuideActivity.class); else / 假如不是第一次使用本应用, 跳转到主页面 intent.setClass(getApplicationContext(), MainActivity.class); startActivity(intent);/ 执行意图,跳转到目标组件 finish();/ 销毁当前的欢迎界面 ); / 4. 执行动画 welcomeIv.startAnimation(loadAnimation); 引导界面关键代码:/初始化ViewPager要装配的页面 private

24、 void initPager() pagers=new ArrayList(); /1 构建ImageView对象 ImageView imageView1=new ImageView(this); imageView1.setBackgroundResource(R.drawable.guide_1);/设置背景属性 /2 把ImageView 添加到集合中,便于操作该对象 pagers.add(imageView1); ImageView imageView2=new ImageView(this); imageView2.setBackgroundResource(R.drawable

25、.guide_2);/设置背景属性 pagers.add(imageView2); ImageView imageView3=new ImageView(this); imageView3.setBackgroundResource(R.drawable.guide_3);/设置背景属性 pagers.add(imageView3); /* * 点击开始体验按钮,则回调该方法 * - 控件设置了android:onClick=enterHome 属性 * - 该方法是public修饰符 且 带View参数,无返回值 */ public void enterHome(View v) /1. 跳转

26、到主界面 Intent intent=new Intent(); 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控件 。菜单主界面关键

27、代码: /1.1 把主内容片段的xml布局实例化View fragmentView=LayoutInflater.from(context).inflate(R.layout.fragment_home, null); /1.2 通过父控件引用子控件 mTabHost=(FragmentTabHost) fragmentView.findViewById(R.id.tabhost); /1.3 初始化底部标签 initTabHost(); return fragmentView; /2 . 初始化底部标签 private void initTabHost() mTabHost.setup(co

28、ntext, getChildFragmentManager(), R.id.fl_container); /2.2 添加标签到FragmentTabHost for(int i=0;itabTitles.length;i+) /2.2.1 构建一个TabSpec tag:标签的标记 TabSpec newTabSpec = mTabHost.newTabSpec(tag+i); /2.2.2 设置标签的指示器 TextView indicatorView= (TextView) View.inflate(context, R.layout.tab_indicator, null); indi

29、catorView.setText(tabTitlesi);/设置TextView的text属性 /设置TextView顶部的图片属性 indicatorView.setCompoundDrawablesWithIntrinsicBounds (null, getResources().getDrawable(tabIconResesi), null, null); newTabSpec.setIndicator(indicatorView); mTabHost.addTab(newTabSpec, tabfragmentClazzi, null); (2)代码编写主界面模块主要用于改善用户体

30、验,使用户能够轻松接受软件。在编写代码之前,首先定义一个Animation类对象,方便在编写代码时调用类中的方法。主要代码如下: super.onCreate(savedInstanceState); String strs = 打开音乐列表; ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,strs); listview = new ListView(this); listview.setAdapter(adapter); listview.setOnItemClickListener(new OnItemClickListener() 5.2 音乐列表模块实现点击主界面的打开音乐列

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

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