基于Androi d的音乐播放软件的设计与实现
学 院 计算机学院
专 业 计算机科学与技术
姓 名 高锦朋 学 号 160201 102971
指导老师 许婷 职 称 讲师
中国·珠海
二○二○年五月
北京理工大学珠海学院2020届本科生毕业设计
诚信承诺书
本人郑重承诺本人承诺呈交的毕业设计《基于Android的音乐播放软件的设计与实现》是在指导教师的指导下独立开展研究取得的成果文中引用他人的观点和材料均在文后按顺序列出其参考文献设计使用的数据真实可靠。
本人签名 高锦朋
日期 2020 年5月 1 日
1
北京理工大学珠海学院2020届本科生毕业设计
基于Android的音乐播放软件的设计与实现
摘 要
随着社会的发展以及人们生活水平的提高音乐文化逐渐成为当今社会主流文化之
一走进了每个人的生活让人们得到了更好的放松、享受以及娱乐。与之崛起的就是音乐播放软件它不仅可以让人们具有随时随地享受音乐还能根据用户习惯推荐歌曲和歌单、评论互动等营造了良好的音乐氛围。
本文所设计的音乐播放软件共分五个功能模块页面 “发现”页和“我的”页可以保存用户收藏的音乐并根据用户的音乐风格偏好推荐歌曲。 同时规划出“视频”页、“动态”页两个功能页面丰富用户的娱乐内容 “动态”页面会从本地服务端获取图片。“账号”页会保存用户的基本信息。界面风格会以黑色和红色混搭为主。本文主要通过本地音乐和视频的播放控制的功能实现介绍MediaPlayer和Service的搭配使。借助BroadCastRec e iver、 Intent等实现不同软件页面间的信息交互。 同时将会使用自定义View美化控件外观。
关键词 音频播放控制、界面风格、移动开发、服务端
2
北京理工大学珠海学院2020届本科生毕业设计
The design and realization of music player software based on Android
Abstract
With the development of the society and the improvement ofpeople's living standard,music culture has gradually become one of the mainstream culture in today's society,whichhas entered everyone's life and made people get better relaxation,enjoyment andentertainment.With its rise is the music playing software,which not only enables people toenjoy music anytime and anywhere,but also can recommend songs and playlists,commentsand interactions according to users'habits,creating a good music atmo sphere.
This work is divided into five functional pages, "discover"page and"my"page can savethe user's music collection,and according to the user's music style preference to recommendsongs.At the same time, two functional pages of"video"page and"dynamic"page areplanned to enrich the entertainment content of users.The "dynamic"page will get picturesfrom the local server.The account page holds the user's basic information.The interface willbe a mix ofblack and red.This article mainly through the local music and video playbackcontrol function to achieve, introduced the MediaPlayer and Service collocation.With the helpof BroadCastReceiver, Intent,etc., information interaction between different so ftware pagescan be realized.Also,a custom View will be used to beautify the appearance of the control.Keyword s:Audio playback control, interface style,mobile development, server
3
北京理工大学珠海学院2020届本科生毕业设计
目 录
1前言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1. 1本设计的目的、意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.2国内流行的音乐播放软件简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.3本设计中的主要功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2开发和运行的环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2. 1开发软件的工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.2软件运行的环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3软件功能实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3. 1 UI布局模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3. 1. 1五大页面之间的跳转. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3. 1.2 “发现”页----DiscoveryFragment的布局. . . . . . . . . . . . . . . . . . . . . . . . . .9
3. 1.3 “视频”页----VideoFragment的布局. . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
3. 1.4 “我的”页----MineyFragment的布局. . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
3. 1.5 “动态”页----DynamicsFragment的布局. . . . . . . . . . . . . . . . . . . . . . . . . .18
3. 1.6 “账号”页----AccountFragment的布局. . . . . . . . . . . . . . . . . . . . . . . . . . .19
3. 1.7 “浸入式”状态栏. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.2本地音乐播放模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.2. 1功能需求分析与实现分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.2.2获取本地音乐. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
3.2.3在Service中实现MediaPlayer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
3.2.4歌单页面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
3.2.5歌曲播放页面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
3.2.6在MainActivity中实现自动切换下一首歌. . . . . . . . . . . . . . . . . . . . . . . . . .27
3.3本地视频播放模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
3.4获取本地服务端的图片. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
3.4. 1用xampp搭建本地服务端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
3.4.2获取本地服务端的图片. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4结论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
4
北京理工大学珠海学院2020届本科生毕业设计
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
5
北京理工大学珠海学院2020届本科生毕业设计
1前言
音乐播放软件是一种用于播放各种音乐文件的多媒体播放软件它涵盖了各种音乐的播放工具界面美观操作简单是如今听音乐的必备软件。
1. 1本设计的目的、意义
在移动端市场里智能手机是用户的第一选择据IDC的最新报告2019年Andro id智能手机占全球手机市场份额的87%。Andro id软件借助着发达移动通信技术和计算机网络技术的功能使其自身功能上更加丰富强大加上美观且人性化UI界面满足了用户的基本需求提供了用户体验感。本文通过对基于Andro id平台的音乐播放软件的研究、设计展示And ro id的基本布局、 网络操作、数据存储、数据通信以及多媒体开发等基本技术体现当前受欢迎的音乐播放软件的风格设计以及基本功能。小巧且功能强大的音乐播放软件是当下及未来的一种必然趋势作为一名音乐爱好者能设计一款Andro id音乐播放器为人们空闲之时带来良好的音乐享受体验是一件非常有荣誉感的事情。
1.2国内流行的音乐播放软件简介
目前国内比较流行的音乐播放软件有网易云音乐播放器、QQ音乐播放器、酷狗音乐播放器等它们都具备各自的特点吸引了一批自己的音乐爱好者粉丝并在这一方面占有了各自的市场。在这里简单地介绍一下现在国内流行的音乐播放软件。
1网易云音乐播放器
网易云音乐播放器是一款网易公司打造的音乐播放器 由网易杭州研究院的开发与专业音乐人、DJ、 自由音乐创造者、主播等合作开发了好友推荐、动态评论以及社交等功能。 网易云音乐播放器是一款很“体贴”的音乐播放器它的“个性化推荐” 、“私人FM”功能会根据用户的爱好自动匹配歌曲也是国内音乐播放软件中拥有海量“歌单”的音乐播放器让用户更容易遇见优质音乐。
2QQ音乐播放器
QQ音乐播放器是腾讯公司开发的音乐播放平台是国内正版数字音乐服务的音乐平台领航者有着独特个性的主题风格 以大数据和互联网为推动力始终走在音乐潮流的最前端 同时支持在线播放和本地播放有着千万量级的正版乐库。
3酷狗音乐播放器
酷狗音乐播放器是中国领先的数字音乐交互提供商互联网技术创新的领军企业。
6
北京理工大学珠海学院2020届本科生毕业设计
酷狗音乐主打“听” 、 “看” “唱”三大功能 “听”模块以丰富的曲库为基石 “看”模块配合MV和直播打造 “唱”模块实现在线K歌版块。
1.3本设计中的主要功能模块
在这音乐播放软件的设计中实现的主要功能如下
1.本地音乐的播放控制
2.本地视频的播放控制
3.从搭建本地的服务端中获取网络图片
4.美观的UI布局。
2开发和运行的环境
2. 1开发软件的工具
该音乐播放软件是基于谷歌的Andro id系统早前技术人员使用Ec lip se开发软件后来谷歌宣布停止对搭载Ec lip s e的开发软件的工具更新并推出了功能更加强大、使用更加方便的Android Studio[1] 故本音乐播放软件的开发工具选择Android Studio。
Andro id S tud io是谷歌推出的基于Inte lliJ ID EA的Andro id应用开发集成开发环境并且赋予了很多提升Andro id应用的构建效率的功能,如基于Grad le可以灵活地构建系统、 Intant Run可以实时将变更传入到运行中软件中等 当前播放软件的编译版本、环境如图2.1所示
图2.1当前软件编译环境
2.2软件运行的环境
夜神andro id模拟器是一款国产手机模拟器采用类手机界面视觉设计的P C端桌面软件采用内核技术基于Android 4.4.2版本内核针在电脑上运行深度开发 具有同
7
北京理工大学珠海学院2020届本科生毕业设计
类模拟器中领先运行速度和稳定的性能。相对Ge nymo t io n它更接近真机能够安装一些应用市场的手机软件如果在genymo tio n安装应用需要安装相应的包操作繁杂容易出错。当然夜神模拟器也有不足的地方 即每次启动Andro id Studio和夜神模拟器需要在Windows命令界面中做一些操作如图2.2所示
图2.2连接夜神模拟器的cmd界面命令
3软件功能的实现
3. 1 UI布局模块
3. 1. 1五大页面之间的跳转
该音乐播放软件有五大页面分别是 “发现” 、 “视频” 、 “我的” 、 “视频” 、“账号” 为了提高代码的可复用性以及可扩展性创建了五个Fragme nt,分别对应D isco ve ryFra gme nt、V ideoF ra gme nt、M ineFra gme nt、D ynamic sFra gme nt、Acco untFra gme nt。将这五个Fragme nt加载入Ma inAct ivity中的id为co nta ine r_co nte nt的相对布局中。当点击MainActivity中的导航栏中的某个页面的图标时 co nta iner_co nte nt会加载相应的Fragme nt[] 。
点击切换Fra gme nt的效果的原理是通过Fra gme ntM ana ger调用方法add将五个Frame nt对象加入id为co nta iner_co nte nt的Re lative Layo ut中当点击导航栏中其中一个图标的时候 Fragme ntManger调用hide方法隐藏其它四个Fra gme nt从而显示出导航栏图标对应的Fragme nt。导航逻辑设计如图3.1所示
8
zoecloud怎么样?zoecloud是一家国人商家,5月成立,暂时主要提供香港BGP KVM VPS,线路为AS41378,并有首发永久8折优惠:HKBGP20OFF。目前,解锁香港区 Netflix、Youtube Premium ,但不保证一直解锁,谢绝以不是原生 IP 理由退款。不保证中国大陆连接速度,建议移动中转使用,配合广州移动食用效果更佳。点击进入:zoecloud官方网站地址zo...
关于CYUN商家在之前有介绍过一次,CYUN是香港蓝米数据有限公司旗下的云计算服务品牌,和蓝米云、蓝米主机等同属该公司。商家主要是为个人开发者用户、中小型、大型企业用户提供一站式核心网络云端部署服务,促使用户云端部署化简为零,轻松快捷运用云计算。目前,CYUN主要运营美国、香港、台湾、日本、韩国CN2线路产品,包括云服务器、站群服务器和独立服务器等。这次看到CYUN夏季优惠活动发布了,依然是熟悉的...
SugarHosts糖果主机商我们较早的站长们肯定是熟悉的,早年是提供虚拟主机起家的,如今一直还在提供虚拟主机,后来也有增加云服务器、独立服务器等。数据中心涵盖美国、德国、香港等。我们要知道大部分的海外主机商都只提供Linux系统云服务器。今天,糖果主机有新增SugarHosts夏季六折的优惠,以及新品Windows云服务器/云VPS上线。SugarHosts Windows系统云服务器有区分限制...