基于安卓系统的一款音乐APP设计与实现.docx

上传人:b****6 文档编号:6114261 上传时间:2023-01-03 格式:DOCX 页数:53 大小:660.95KB
下载 相关 举报
基于安卓系统的一款音乐APP设计与实现.docx_第1页
第1页 / 共53页
基于安卓系统的一款音乐APP设计与实现.docx_第2页
第2页 / 共53页
基于安卓系统的一款音乐APP设计与实现.docx_第3页
第3页 / 共53页
基于安卓系统的一款音乐APP设计与实现.docx_第4页
第4页 / 共53页
基于安卓系统的一款音乐APP设计与实现.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

基于安卓系统的一款音乐APP设计与实现.docx

《基于安卓系统的一款音乐APP设计与实现.docx》由会员分享,可在线阅读,更多相关《基于安卓系统的一款音乐APP设计与实现.docx(53页珍藏版)》请在冰豆网上搜索。

基于安卓系统的一款音乐APP设计与实现.docx

基于安卓系统的一款音乐APP设计与实现

基于安卓系统的一款音乐APP设计与实现

DesignandimplementationofamusicappbasedonAndroid

 

中文摘要

近年来,在移动设备市场中,手机逐渐成为了用户的第一选择。

随着移动应用技术和互联网技术的深入发展,人们对手机应用的功能和性能也就有了更加高的要求,一些音乐App已经不能满足人们对个性化、简洁化的需求。

现有的音乐App界面繁杂、功能单一,只具有听歌曲等纯粹的视听功能,缺乏更加有乐趣的其它功能。

因此,设计一个界面简单快捷,功能丰富的可以给用户带来更多选择的音乐App显得很有市场需求。

关键字:

智能手机Android平台音乐App

 

Abstract

Inrecentyears,mobilephoneshavegraduallybecomethefirstchoiceofusersinthemobiledevicemarket.Withthein-depthdevelopmentofmobileapplicationtechnologyandInternettechnology,peoplehavehigherrequirementsforthefunctionandperformanceofmobileapplications.Somemusicappshavebeenunabletomeetpeople'spersonalizedandconciseneeds.Theexistingmusicapphascomplexinterfaceandsinglefunction.Itonlyhaspureaudio-visualfunctionssuchaslisteningtosongs,andlacksotherfunctionsthataremorefun.Therefore,thedesignofasimpleandfastinterface,richfunctionscanbringusersmorechoicesofmusicappisverymarketdemand.

Keywords:

IntelligentmobilephoneAndroidplatformMusicApp

 

第1章绪论

1.1课题背景与意义

进入21世纪以来,中国互联网技术的发展在生活的各个方面都在加速,到处都可以看到互联网的影子。

近年来,手机越来越多的进入了人们的生活,因为手机功能多且体积小,使用很便捷,所以使用手机的民众数量快速增加。

另外,Android是开源的,而且Android平台上的大多数应用程序都是免费的,所以很多手机制造商都使用Android系统,这在手机市场上有很大的优势。

根据现有的调查数据,iOS目前仅占13%的市场占有率,而Android的市场占有率为87%。

另外,Android手机比iphone价格更低,性价比更高,所以Android更有吸引力。

随着世界的发展进步和人们各种各样的压力的增加,人们的物质世界逐渐丰富,但精神世界却逐渐贫乏。

因此,人们通过手机上的音视频应用来丰富自己的精神生活。

研究表明,听音乐可以使人放松,缓解压力。

此外,如今人们的生活压力很大,尤其是那些生活在一线城市的人。

因此,音乐App在智能手机上的出现是不可避免的。

android市场充斥着各种各样的音乐App。

在现有的音乐App中,有些功能过于简单,不能满足用户的需要;有些功能强大,但界面繁杂;在一些网络欠好的情况下用户体验差。

因此,随着用户需求的不断增加,目前的音乐App已经无法满足用户多样化的需求。

基于安卓平台的应用非常灵活,减少了开发量,收缩了开发期。

对于用户来说,可以最大程度地定义自己的手机。

此外,安卓手机本身具有资源有限的特点,基于上述问题,结合用户需求,设计并实现了一款功能全面、界面简洁美观的音乐App就显得很有意义。

1.2研究现状

自2009年以来,手机已经逐渐走入人们的生活,随着手机的功能越来越强大,它们已经逐渐取代了以前单独的歌曲播放器,使用手机听音乐已成为用户听音乐的重要手段之一。

许多企业和个人已经看到了音乐媒体潜在的发展趋势,从传统的个人电脑到智能手机和平板电脑等便携式设备上,许多功能强大的音乐App都得到了开发和研究。

目前,国内市场较盛行的音乐App包括酷狗音乐、QQ音乐、网易云音乐和XX音乐等,其中酷狗音乐和QQ音乐在国内市场比较盛行。

除了上述知名音乐App外,还有一些音乐App支持更多功能,但市场占有率相对较小,例如,虾米音乐、咪咕音乐等。

音乐App已经成为许多公司的竞争项目,由此可见,音乐App市场存在一定的挑战和竞争,也将带来业务发展的机遇。

随着移动互联网的快速发展和音乐媒体资源的日益丰富,一些音乐App已经无法满足人们多样化的音乐需求,而Android平台有着良好的发展基础,这将使手机音乐App不断发展。

因此,手机音乐App的开发具有广阔的市场前景。

 

1.3论文研究的主要内容

本课题针对国内已有的基于安卓系统的音乐App进行了研究和分析,本文所设计的音乐播放器在内容方面更加丰富,通过对用户的需求进行了解,对其他公司开发的音乐App进行了功能上的分析,大致了解开发所需要用到的技术,以及结合一些当下流行的开发模式进行初步的模式选择,从而实现大概的模块上的分析和模块上的设计,划分我们所需要的功能模块,从而完成音乐App系统的总体设计和各模块的详细设计。

本论文研究的主要内容:

(1)分析音乐App的现状以及研究的意义,确定了研究的目的。

(2)研究Java模式开发、Litepal数据库等相关技术。

(3)详细分析了音乐App的功能,并进行了具体的需求分析。

(4)研究了音乐App的总体设计方案、相关架构和基于API结构的设计方法。

(5)对完成的音乐App进行测试。

在测试中发现其中的问题,不断的解决问题,完善App。

 

 

第2章相关开发环境和技术的简介

2.1开发环境的介绍

本音乐App的开发环境包括以下的内容:

使用的开发工具有androidstudio,AndroidSDK,数据库的操作工具是Navicat

使用到的相关开发技术是java与Kotlin;

电脑系统配置为Windows10操作系统,内存使用8G的内存,硬盘400G,CPU2.6GHz。

2.2相关技术的介绍

在本App的设计和实现过程中,需要采用多种技术与服务的配合来完成,现在我将会对所采用的的技术与服务做一个详细的介绍。

2.2.1Java

Java是一种比较广泛使用计算机的编程语言,具有面向对象、跨平台和通用编程等诸多功能。

它广泛用于企业Web应用程序开发和移动应用程序开发。

本次音乐App的设计与实现主要是使用Java与Kotlin两种语言混合开发。

在90年代初,将网络计算的功能扩展到日常生活中是一个激进的愿景。

1991年,Sun的一小群名为“GreenTeam”的工程师认为,相信下一个高潮是数字消费设备和计算机的结合。

在JamesGosling的带领下,该团队昼夜不停地工作,最终创建了彻底改变我们世界的编程语言——Java。

Java编程语言的样式非常类似于C++语言。

继承了C++语言的面向对象技术的核心,放弃了容易出错的指针,并用引用替换了它们,删除了C++中的运算符重载和多重继承功能,并将其替换为接口;JavaSE1.5引入了通用编程,类型安全的枚举,不确定长度的参数以及自动打包/拆箱功能。

太阳计算机系统有限公司对Java语言的解释是:

“Java编程语言是一种简单的、面向对象的、分布式的、解释性的、健壮的、安全的、与系统无关的、可移植的、高性能的、多线程的和动态的语言。

JDK11发布于2018年9月25日,其是一个长期支持版本,其带来了许多新的特性,如LocalVar、HttpClient、ListAPI等。

2.2.2Kotlin

Kotlin语言是由捷克著名的软件开发公司JetBrains公司开发的,是一种用于现代多平台应用的计算机静态编程语言。

Kotlin可以被编译成Java字节码或JavaScript,这便于在没有JVM的设备上运行。

Kotlin有许多优点,是一种兼容Java的语言,它比Java更安全,可以静态检测常见的陷阱,例如引用空指针,此外,它比Java简单,受到大多数程序开发人员的喜爱。

自2017年以来,Kotlin已经正式成为官方的安卓支持开发语言。

2.2.3Service

Service(服务)是一个应用程序组件,它可以在后端执行长期运行的操作,而无需用户界面。

服务可以由其他应用程序组件(如Activity)启动,一旦启动,服务将一直在后台运行,即使启动服务的组件(Activity)已被销毁也不会有影响。

此外,组件可以绑定到要与之交互的服务,甚至可以执行进程间通信(IPC)。

例如,服务可以处理网络事务、播放音乐、执行文件I/O或与内容提供程序交互,所有这些都可以在后台完成。

2.2.4MVC开发模式

随着当前的系统越来越大,每个方面的功能也越来越复杂。

为了使系统的开发更加简单,有必要采用MVC开发模式来规划系统的各个模块。

MVC是一种使用MVC(ModelViewController模型-视图-控制器)设计创建Web应用程序开发的设计模式:

M:

Model模型层,系统开发基本的业务数据以及业务逻辑都属于模型层。

V:

View视图层,为用户展示数据用的。

C:

Controller控制器,通常会使用SERVLET来完成控制层的工作。

MVC分层的思想有利于管理复杂的应用程序,使每个层次的代码分明,并使每个层次分工明确。

2.3本章小结

本章主要对我们音乐App的设计与开发中所使用到的技术进行基本的介绍。

为我们音乐App进一步的开发进行技术上的说明,对系统建设过程中所需的理论基础进行详细的研究与分析,为我们以后音乐App的实现提供技术上的支持。

 

第3章需求分析

3.1编写目的

音乐App需求分析主要是为了提出系统应该具备的功能模块和我们预期需要完成的目标。

需求分析是通过了解用户的需求来确定系统的功能性需求和非功能性需求。

功能性需求是解释音乐系统的具体功能和功能完成后要达到的目的。

非功能性需求是指除了业务需求之外,管理系统还为用户提供的一些特性,这些特性当然是功能性需求之外的一些需求,其中包括相关标准、系统要求的质量特性,包括一些性能需求、安全需求、可维护性需求等需求。

系统相关需求分析是系统开发的重要环节,是系统设计和开发的基础,它是以后进行系统测试的重要依据和基础,因此编写需求分析的目的是成为以后的维护说明文档。

3.2总体需求

在智能手机时代,各种各样的软件应用影响着用户的视觉效果,特别是基于Android系统的移动设备呈指数级增长,因为Android系统的音乐播放器功能单一,界面单调,因此,设计一款基于Android手机且拥有丰富的音乐库和多种界面的音乐App,无疑可以满足许多音乐爱好者的需求。

3.3功能性需求

根据相关调研得出手机音乐软件的具体需求,具体情况如下:

3.3.1功能性需求

(1)进入退出功能需求

用户可以顺利的进入或退出App。

(2)播放暂停功能的需求

用户可以播放任意一首歌曲与暂停任意一首歌曲。

(3)下一首上一首的功能需求

用户可以随时切换上一首或下一首。

(4)音质的功能需求

用户可以选择多种音质。

(5)收藏的功能需求

用户可以收藏自己喜欢的歌曲。

(6)下载的功能需求

用户可以下载歌曲。

(7)播放模式的功能需求

用户可以选择歌单循环、单曲循环和随机播放。

(8)添加到歌单的功能需求

用户可以添加歌曲到自己建立的歌单。

(9)歌词及其搜索设置的功能需求

用户可以搜索歌曲的歌词。

3.4非功能性需求

非功能性需求将决定用户对软件使用的体验或者软件的品质等相关问题。

以下列举几个较为重要的非功能性需求

3.4.1界面美观需求

这个需求主要描述对系统外观的一种期望,这个需求需要系统达到一个符合规定的外观。

音乐App应该具有界面简洁、端庄、简约、精美等特点,给人一种专业气息的体验。

包括按钮、展示界面等都需要符合音乐软件的氛围。

可以参考其他音乐App中的设计风格进行设计。

3.4.2易操作性需求

易操作性会使系统使用起来更加的简易,对于用户使用本App时可以实现“一看就会”的使用情况。

让用户可以很快的操作App,而不是需要花很多的时间和经历来熟悉App的操作。

3.4.3界面交互需求

用户是否喜欢某产品的衡量标准之一就是是否有简捷且友好的交互界面,同时要保证界面简洁。

3.5可行性分析

3.5.1技术可行性分析

音乐App是基于安卓系统的一款音乐播放App,主要是用java技术与Kotlin技术进行开发,对技术要求还是比较高,因此需要开发人员有相对熟练的安卓开发经验以及想对熟悉的数据操作经验,要用到了Service、Fragment等技术,现针对主要技术进行技术可行性分析。

本音乐App数据库采用安卓第三方小型数据库litepal,litepal是一款开源的数据库,具有空间轻便、开发简易与操作方便的特点,非常适合本次音乐App的开发。

本次音乐App的后台音乐数据均来自于API(应用程序编程接口),API是一些预定义的功能,或指软件系统的不同组件的衔接协议。

其目的是为应用程序和开发人员提供访问一组基于特定软件或硬件的例程的能力,而无需了解内部工作机制的细节或访问源代码,API还具有共享、标准、去集中化、开放性和模块化等优点,非常适用于本次音乐App的开发与建设。

3.5.2经济可行性分析

音乐App的开发是由开发者自己开发,不需要购买其他软件或者端口之类的,而且在本次音乐App的开发之前所做的市场调研及对其他的音乐App比较,发现音乐App的市场潜力巨大,不存在开发出来没有消费者使用的可能,所有开发成功后的经济收入都是没有任何疑问的,本次音乐App开发是通过开发者自己的努力和勤奋,大部分的工作都是根据自己的思考,面对短时间内自身没有办法去搞定的情况时,向导师请教或者上网浏览资料进行独立研究,所以对于音乐App系统的开发在经济上是完全可行的,没有任何额外的费用支出。

使用的Java技术与Kotlin技术是比较成熟且普遍的技术,因此音乐App项目在经济上是可行的。

从人力资源、硬件设备资源、服务器资源等方面考虑,音乐App系统开发资源可以说是十分充足的。

3.5.3进度可行性分析

制定明确的进度表,保证音乐App项目的按时完成,对于没有按时完成的任务需要减少项目的作用域,增加项目按时完成的可行性。

要保证音乐App项目能够如期完成,必须要对项目每个模块进行时间控制,对没有在正常时间内完成的任务及时做出调整。

在项目开工前,制定详细的项目计划,确定开发的这个项目那些决定性的关键,严格把关、留意决定性因素上的进展和流程,并实时进行调整和改变。

3.6本章小结

系统开发的需求分析与可行性分析尤为重要,我们需要彻底了解用户的需求和用户的问题。

本章介绍了音乐App的一些基本信息,这些信息在本系统的设计中起着重要的作用,本章将为以下总体设计和详细设计提供完整的文档支持,描述系统所需的各种功能。

 

第4章系统的总体设计

4.1系统的总体结构设计

4.1.1音乐App功能结构图

图4-1音乐App功能结构图

4.1.2功能结构描述

本音乐App大体分为我的、发现、搜索、音乐任务栏、音乐播放与更多。

(1)我的模块

我的模块主要设计好的功能有“我的收藏”、“下载”与“歌单”。

其中,“我的收藏”里实现的功能有:

用户收藏好的音乐,在我的收藏中搜索自己收藏好的音乐,对收藏好的音乐进行批量添加到歌单与批量下载,对收藏好的音乐进行按歌曲名、按歌手名与按专辑名排序,对收藏好的音乐条目进行下一首播放、添加到歌单、查看专辑与查看歌手。

“下载”实现的功能有:

显示用户已经下载好的音乐,在下载中搜索自己下载好的歌曲,删除用户下载的歌曲,显示正在下载歌曲的进度,对下载好的音乐条目进行下一首播放、添加到歌单、查看专辑与查看歌手。

“歌单”实现的功能有:

新建歌单及新建歌单命名,删除或者批量删除歌单,重命名歌单,歌单内搜索音乐,对歌单里的音乐进行批量添加到歌单与批量下载,对歌单里的音乐进行按歌曲名、按歌手名与按专辑名排序,对歌单里的音乐条目进行下一首播放、添加到歌单、查看专辑与查看歌手。

(2)发现模块

发现模块主要设计好的功能有歌手列表里的“热门歌手”与“按条件筛选歌手”。

其中,“按条件筛选歌手”实现的功能有:

按照歌手的地区、性别、组合、音乐分类与名字首字母来进行歌手的筛选,筛选后显示出相应的歌手给用户选择。

“热门歌手”实现的功能有:

最近热门的歌手显示,点击任意一个歌手即可进入到歌手歌曲列表,在歌曲列表中任意点击一首歌曲就可以进行播放,可以查看歌手的简介,可以对歌曲列表里的音乐进行批量添加到歌单与批量下载,对歌曲列表里的音乐条目可以进行下一首播放、添加到歌单、查看专辑、查看歌手与下载歌曲。

(3)搜索模块

搜索模块主要设计好的功能有“搜索歌手与歌曲”与“搜索历史”。

其中,“搜索歌手与歌曲”实现的功能有:

用户搜索任意一个歌手与歌曲都会将准确的歌手与歌曲显示出来,如果搜索的是歌手就显示歌手的歌曲条目,如果搜索歌曲就显示歌曲条目,点击任意一首歌都可以播放,对歌曲列表里的音乐条目可以进行下一首播放、添加到歌单、查看专辑、查看歌手与下载歌曲。

“搜索历史”实现的功能有:

用户每次搜索不相同的歌手与歌曲都会形成搜索历史,用户可以清空搜索历史,也可以单独删除任意一条搜索历史。

(4)音乐任务栏模块

音乐任务栏模块主要设计好的功能有“播放暂停”、“上一首与下一首”、“桌面歌词”与“关闭音乐App”。

其中,“播放暂停”实现的功能有:

用户点击播放按钮,音乐播放,点击暂停按钮,音乐暂停。

“上一首与下一首”实现的功能有:

用户点击上一首按钮,上一首歌曲播放,点击下一首按钮,下一首歌曲播放。

“关闭音乐App”实现的功能有:

用户点击关闭按钮,音乐App就被关闭,结束音乐App的所有进程。

“桌面歌词”实现的功能有:

在音乐播放时点击桌面歌词按钮桌面歌词才会被启动,在音乐暂停时点击桌面歌词按钮桌面歌词不会被启动,桌面歌词可以实现上一首与下一首音乐的播放、播放与暂停、锁定桌面歌词、关闭桌面歌词与设置桌面歌词的大小与歌词颜色。

(5)更多模块

更多模块主要设计好的功能有“关于”、“设置”与“退出”。

其中,“设置”实现的功能有:

用户点击设置进入设置页面,设置内包含桌面歌词请求悬浮窗权限、开启夜间模式、下载目录与清除缓存;只有用户点击桌面歌词请求悬浮窗权限才能开启悬浮窗权限,才能让桌面歌词功能成功实现;用户点击开启夜间模式,音乐App的主题颜色就会变成暗色系,适合在夜间进行浏览与使用,有利于保护用户的眼睛;下载目录里有歌曲下载成功后所在的存储路径,方便用户查找歌曲下载到了哪里;用户点击清除缓存即可清除音乐App所有的图片缓存,提高图片加载速度,减少音乐App对手机内存的占用。

“关于”实现了本款音乐App的软件版本号的显示,并展示对用户的欢迎使用的感谢用语,使用户玩的开心,心情愉悦;“退出”实现了用户点击退出按钮后,音乐App就被关闭,结束音乐App的所有进程。

(6)音乐播放模块

音乐播放模块主要设计好的功能有“播放暂停”、“上一首与下一首”、“收藏音乐”、“选择播放模式”、“下载音乐”、“添加音乐到歌单”、“音乐进度条”、“音质选择”、“歌词”与“更多操作”。

其中,“播放暂停”实现的功能有:

用户点击播放按钮,音乐播放,点击暂停按钮,音乐暂停。

“上一首与下一首”实现的功能有:

用户点击上一首按钮,上一首歌曲播放,点击下一首按钮,下一首歌曲播放。

“收藏音乐”实现的功能有:

用户点击收藏按钮即可收藏音乐,再次点击收藏按钮即可取消收藏音乐。

“选择播放模式”实现的功能有:

用户点击播放模式按钮可以任意切换到循环播放、单曲播放与随机播放。

“下载音乐”实现的功能有:

用户点击下载按钮即可选择标准品质、较高品质、HQ品质与无损品质四种品质任意一种进行下载。

“添加音乐到歌单”实现的功能有:

用户点击添加音乐到歌单按钮即可将音乐添加到任意一个歌单,用户还可以立即新建一个歌单再将音乐加入到歌单。

“音乐进度条”实现的功能有:

用户播放音乐时,进度条显示音乐总时长以及音乐播放进度,用户可以随意拉动进度条,进度条拉到哪里音乐就在哪里开始播放。

“音质选择”实现的功能有:

用户点击播放音乐,默认音质都是标准品质,用户可以点击音质选择按钮,选择标准品质、较高品质、HQ品质与无损品质四种品质任意一种进行播放。

“更多操作”实现的功能有:

用户点击更多操作按钮可以对歌曲进行下一首播放、添加到歌单、查看专辑、查看歌手与下载歌曲。

“歌词”实现的功能有:

用户在播放页面向左滑动即可进入歌词显示模块,用户可以随意滑动歌词到任意一个位置点击歌词,然后歌曲就在用户点击歌词的地方开始播放,用户如果对系统匹配的歌词不满意可以在线搜索歌词,并将搜索到的歌词应用到歌词显示中去,用户如果对歌词字体大小与歌词颜色不满意的话,都可以进行调整。

4.2系统的开发模式设计

在开发模式下,该音乐App采用MVC(Model-View-Control模型-视图-控制)模式开发,MVC开发模式具有高重用性、低耦合性、快速部署性和高可维护性等优点,有利于本次音乐App的设计与实现,有利于软件的工程管理等,其实施难度一般。

需要利用的知识点和技术点一般是主流开发技术,可以逐步掌握和合理利用,非常适合本次音乐App的设计。

由于涉及的技术范围很广,有必要更多地利用文档和教程进行学习和实践,最终目标是获得良好的人机交互体验。

4.3设备要求

4.3.1硬件设备

PC计算机

内存4.00GB

64位系统,基于X64的处理器

4.3.2支持软件

操作系统软件Windows10

数据库软件LitePal、MySQL

集成开发软件androidstudio

4.4音乐App的模块划分

本次设计的音乐APP模块划分为我的模块、发现模块、搜索模块、任务栏模块、音乐播放模块与更多模块共计六个模块:

图4-2音乐App模块划分

4.5数据库的设计

本次音乐App的数据库开发使用了litepal,litepal是一款开源的数据库,具有空间轻便、开发简易的特点,非常适合本次音乐App的开发。

本次音乐App数据库开发的数据表如下所示。

4.5.1表格:

music

音乐表

字段:

表4-1音乐表

列名

名称

数据类型

字段类型

默认值

是否主键

id

数据库存储id

integer

integer

null

type

歌曲类型本地/网络

text

text

null

mid

歌曲id

text

text

null

title

音乐标题

text

text

null

artist

歌手

text

text

null

album

专辑

text

text

null

artistId

专辑id

text

text

null

albumId

专辑id

text

text

null

trackNumber

专辑内歌曲个数

int

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

当前位置:首页 > 自然科学

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

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