基于Android的音乐播放软件的设计与实现.doc
《基于Android的音乐播放软件的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Android的音乐播放软件的设计与实现.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Android的音乐播放软件的设计与实现学 院:专 业:姓 名:指导老师:计算机学院计算机科学与技术高锦朋学 号:职 称:160201102971许婷讲师中国珠海二二年五月北京理工大学珠海学院2020届本科生毕业设计诚信承诺书本人郑重承诺:本人承诺呈交的毕业设计基于Android的音乐播放软件的设计与实现是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名: 高锦朋 日期: 2020 年 5 月 1 日 基于Android的音乐播放软件的设计与实现摘 要随着社会的发展以及人们生活水平的提高,音乐文化逐渐成为当
2、今社会主流文化之一,走进了每个人的生活,让人们得到了更好的放松、享受以及娱乐。与之崛起的就是 音乐播放软件,它不仅可以让人们具有随时随地享受音乐,还能根据用户习惯推荐歌曲和歌单、评论互动等,营造了良好的音乐氛围。本文所设计的音乐播放软件共分五个功能模块页面,“发现”页和“我的”页可以保存用户收藏的音乐,并根据用户的音乐风格偏好推荐歌曲。同时规划出“视频”页、“动态”页两个功能页面丰富用户的娱乐内容,“动态”页面会从本地服务端获取图片。“账号”页会保存用户的基本信息。界面风格会以黑色和红色混搭为主。本文主要通过本地音乐和视频的播放控制的功能实现,介绍MediaPlayer和Service的搭配使
3、。借助BroadCastReceiver、Intent等实现不同软件页面间的信息交互。同时,将会使用自定义View美化控件外观。关键词: 音频播放控制、界面风格、移动开发、服务端 The design and realization of music player software based on AndroidAbstractWith the development of the society and the improvement of peoples living standard, music culture has gradually become one of the main
4、stream culture in todays society, which has entered everyones life and made people get better relaxation, enjoyment and entertainment.With its rise is the music playing software, which not only enables people to enjoy music anytime and anywhere, but also can recommend songs and playlists, comments a
5、nd interactions according to users habits, creating a good music atmosphere.This work is divided into five functional pages, discover page and my page can save the users music collection, and according to the users music style preference to recommend songs.At the same time, two functional pages of v
6、ideo page and dynamic page are planned to enrich the entertainment content of users. The dynamic page will get pictures from the local server.The account page holds the users basic information.The interface will be a mix of black and red.This article mainly through the local music and video playback
7、 control function to achieve, introduced the MediaPlayer and Service collocation.With the help of BroadCastReceiver, Intent, etc., information interaction between different software pages can be realized.Also, a custom View will be used to beautify the appearance of the control.Keywords: Audio playb
8、ack control, interface style, mobile development, server目 录1 前言61.1 本设计的目的、意义61.2 国内流行的音乐播放软件简介61.3 本设计中的主要功能模块72开发和运行的环境72.1开发软件的工具72.2软件运行的环境73 软件功能实现83.1 UI布局模块83.1.1五大页面之间的跳转83.1.2 “发现”页-DiscoveryFragment的布局93.1.3 “视频”页-VideoFragment的布局153.1.4 “我的”页-MineyFragment的布局163.1.5 “动态”页-DynamicsFragment
9、的布局183.1.6 “账号”页-AccountFragment的布局193.1.7 “浸入式”状态栏213.2本地音乐播放模块223.2.1功能需求分析与实现分析223.2.2获取本地音乐233.2.3在Service中实现MediaPlayer233.2.4歌单页面243.2.5歌曲播放页面243.2.6在MainActivity中实现自动切换下一首歌273.3本地视频播放模块273.4获取本地服务端的图片273.4.1用xampp搭建本地服务端 273.4.2 获取本地服务端的图片294结论30参考文献31致谢321 前言音乐播放软件是一种用于播放各种音乐文件的多媒体播放软件,它涵盖了各
10、种音乐的播放工具,界面美观,操作简单,是如今听音乐的必备软件。1.1本设计的目的、意义在移动端市场里,智能手机是用户的第一选择,据IDC的最新报告,2019年Android智能手机占全球手机市场份额的87%。Android软件借助着发达移动通信技术和计算机网络技术的功能,使其自身功能上更加丰富强大,加上美观且人性化UI界面满足了用户的基本需求,提供了用户体验感。本文通过对基于Android平台的音乐播放软件的研究、设计,展示Android的基本布局、网络操作、数据存储、数据通信以及多媒体开发等基本技术,体现当前受欢迎的音乐播放软件的风格设计以及基本功能。小巧且功能强大的音乐播放软件是当下及未来
11、的一种必然趋势,作为一名音乐爱好者能设计一款Android音乐播放器,为人们空闲之时带来良好的音乐享受体验,是一件非常有荣誉感的事情。1.2国内流行的音乐播放软件简介目前,国内比较流行的音乐播放软件有 网易云音乐播放器、QQ音乐播放器、酷狗音乐播放器等,它们都具备各自的特点,吸引了一批自己的音乐爱好者粉丝,并在这一方面占有了各自的市场。在这里简单地介绍一下现在国内流行的音乐播放软件。1)网易云音乐播放器网易云音乐播放器是一款网易公司打造的音乐播放器,由网易杭州研究院的开发,与专业音乐人、DJ、自由音乐创造者、主播等合作,开发了好友推荐、动态评论以及社交等功能。网易云音乐播放器是一款很“体贴”的
12、音乐播放器,它的“个性化推荐”、“私人FM”功能会根据用户的爱好自动匹配歌曲,也是国内音乐播放软件中拥有海量“歌单”的音乐播放器,让用户更容易遇见优质音乐。2)QQ音乐播放器QQ音乐播放器是腾讯公司开发的音乐播放平台,是国内正版数字音乐服务的音乐平台领航者,有着独特个性的主题风格,以大数据和互联网为推动力,始终走在音乐潮流的最前端,同时支持在线播放和本地播放,有着千万量级的正版乐库。3)酷狗音乐播放器酷狗音乐播放器是中国领先的数字音乐交互提供商,互联网技术创新的领军企业。酷狗音乐主打“听”、“看”“唱”三大功能,“听”模块以丰富的曲库为基石,“看”模块配合MV和直播打造,“唱”模块实现在线K歌
13、版块。1.3本设计中的主要功能模块在这音乐播放软件的设计中,实现的主要功能如下:1. 本地音乐的播放控制;2. 本地视频的播放控制;3. 从搭建本地的服务端中获取网络图片;4. 美观的UI布局。2 开发和运行的环境2.1开发软件的工具该音乐播放软件是基于谷歌的Android系统,早前技术人员使用Eclipse开发软件,后来谷歌宣布停止对搭载Eclipse的开发软件的工具更新,并推出了功能更加强大、使用更加方便的Android Studio1,故本音乐播放软件的开发工具选择Android Studio。Android Studio是谷歌推出的基于IntelliJ IDEA的Android 应用开
14、发集成开发环境,并且赋予了很多提升Android应用的构建效率的功能,如 基于Gradle可以灵活地构建系统、Intant Run可以实时将变更传入到运行中软件中等,当前播放软件的编译版本、环境,如图2.1所示:图2.1 当前软件编译环境2.2软件运行的环境 夜神android模拟器是一款国产手机模拟器,采用类手机界面视觉设计的PC端桌面软件,采用内核技术(基于Android 4.4.2版本内核针在电脑上运行深度开发),具有同类模拟器中领先运行速度和稳定的性能。相对Genymotion它更接近真机,能够安装一些应用市场的手机软件,如果在genymotion安装应用需要安装相应的包,操作繁杂,容
15、易出错。当然夜神模拟器也有不足的地方,即每次启动Android Studio和夜神模拟器,需要在Windows命令界面中做一些操作,如图2.2所示:图2.2 连接夜神模拟器的cmd界面命令3 软件功能的实现3.1 UI布局模块3.1.1五大页面之间的跳转该音乐播放软件有五大页面,分别是 “发现”、“视频”、“我的”、“视频”、“账号”,为了提高代码的可复用性以及可扩展性,创建了五个Fragment,分别对应DiscoveryFragment、VideoFragment、MineFragment、DynamicsFragment、AccountFragment。将这五个Fragment加载入Ma
16、inActivity中的id为container_content的相对布局中。当点击MainActivity中的导航栏中的某个页面的图标时,container_content会加载相应的Fragment2 。点击切换Fragment的效果的原理是通过FragmentManager调用方法add将五个Frament对象加入id为container_content的RelativeLayout中,当点击导航栏中其中一个图标的时候,FragmentManger调用hide方法隐藏其它四个Fragment,从而显示出导航栏图标对应的Fragment。导航逻辑设计如图3.1所示:图3.1 Fragmen
17、tManager将Fragment加入Activity一般情况下,Fragment作为Activity界面的一部分,我们可以向一个Activity中添加多个Fragment,也可以想多个Activity添加同一个Fragment,Fragment成功实现了模块化,它具有自己的生命周期和布局文件,但它的生命周期会受到Activity的生命周期的影响。Fragment不能独立存在,必须依赖在Activity之上,并且Fragment中不能嵌套使用Fragment。当Activity被销毁时,Activity中的Fragment随之销毁。而要在Activity中添加、替换、移除Fragment,则需
18、要借助FragmentManager对Fragment的管理。FragmentManager向Activity提交对Fragment的每组更改成为事务(Transition)。你也可以将提交的事务加入返回栈,让用户点击返回键时能够回退到上一个事务。每个事务中调用add()、replace()、remove()、show()、hide()等方法实现Activity对Fragment的管理,并且最后一定要调用commit()方法提交事务。3.1.2“发现”页面-DicoveryFragment的布局DiscoveryFragment 主要组成部分如图3.2所示:图3.2 “发现”页面的主要组成部分
19、1)搜索栏“发现”页头部的搜索栏的中间是圆角搜索框,右边是圆形音乐播放进度条。这两个控件都属于自定义View3,分别是MySearchView、MusicProgressView。搜索栏整体效果如图3.3所示:图3.3 “发现”页面头部的搜索栏在实际开发过程中,基本控件并不能满足我们的功能和UI界面的需求。因此,Android提供了自定义View的方法,步骤如下:1. 在res/values/attrs.xml文件里,声明自定义控件的的属性;2. 创建自定义View的类,名称应与attrs.xml声明的自定义View的名称相同。在构造方法中,获取属性值且设定默认值;3. 在OnMeasure方
20、法中,定义测量自定义搜索框的宽和高方式;4. 在OnDraw方法中,绘制自定义View的图形。Android绘图基础一般会涉及到Canvas、Paint等4。复杂的操作一般不在OnDraw方法中实现,建议另外创建方法或者在方法OnSizeChanged中实现。画布遍及整个控件的宽、高,画布的x、y轴坐标图如图3.4所示:图3.4 画布的坐标轴5. 根据实际功能需求,定义自定义View的成员方法。2)广告栏由控件ViewPager4和底部提示栏组成,底部提示栏的作用是提示ViewPager目前正显示的是ViewPager中的第某个图片。广告栏图整体效果如图3.5所示:图3.5 广告栏在此处的Vi
21、ewPager实现了四个重要效果:左右切换无限循环、自动切换、切换的动画效果以及底部提示。实现步骤如下:1、左右切换无限循环 ViewPager可以让用左右滑动切换它的当前View。在此处,View是ImageView控件。ViewPager往往需要与适配器PagerAdapter搭配使用,适配器PagerAdapter给ViewPager提供View的相关数据,类似于ListView的Adapter。实现PagerAdapter抽象类,需要重写方法getCount()、instantiateItem()、isViewFromObject()、destroyItem()ViewPager。Vi
22、ewPager要实现无限循环,则需要关注如何实现ViewPager在第一个View时右滑切换至最后一个View、ViewPager在最后一个View时左滑切换至第一个View。假定ViewPager要显示的View有3个,分别是View A、View B和View C。为了在滑动时UI上给用户一种左右无限循环的感觉,分别在View A前面放一个View C,View C后面放一个View A,作为页面快速切换时的缓冲。当ViewPager显示的是索引为1的View A时,用户左滑至索引为0的View C,随后迅速且无动画效果地切换到索引为4的View A;当ViewPager显示的是索引为3的
23、View C时,用户右滑至索引为4的View A,随后迅速且无动画效果地切换至索引为1的View A。ViewPager的左右切换无限循环的逻辑设计如图3.4所示:图3. 6 ViewPager实现无限循环的原理图为了实现ViewPager无限循环,需要实时获取ViewPager切换View时的信息,则需要给ViewPager设置监听器,即调用方法addOnPageChangeListener,实现OnPageChangeListener抽象类则需要重写方法onPageSelected和方法onPageScrollStateChanged。在方法OnPageSelected中,查看当前posi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 音乐 播放 软件 设计 实现
限制150内