Android在线音乐播放器设计与实现Word格式.docx

上传人:b****7 文档编号:22632714 上传时间:2023-02-05 格式:DOCX 页数:64 大小:692.82KB
下载 相关 举报
Android在线音乐播放器设计与实现Word格式.docx_第1页
第1页 / 共64页
Android在线音乐播放器设计与实现Word格式.docx_第2页
第2页 / 共64页
Android在线音乐播放器设计与实现Word格式.docx_第3页
第3页 / 共64页
Android在线音乐播放器设计与实现Word格式.docx_第4页
第4页 / 共64页
Android在线音乐播放器设计与实现Word格式.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

Android在线音乐播放器设计与实现Word格式.docx

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

Android在线音乐播放器设计与实现Word格式.docx

手机的越来越智能化相当大的程度都要通过软件和应用来体现,2011年盛放的移动互联网应用市场带来了各门类的诸多精品应用,音乐播放器市场更是如此,除了传统单一的本地播放功能,Android平台的音乐播放器已经衍生出支持多格式、歌曲信息多合一提供、资源不仅依靠本地而且靠移动互联网提供、辅助功能完善的多种或集百家精粹,或有一技之长的精品播放器。

(1)音乐

音乐是腾讯公司推出的网络音乐平台,是中国互联网领域领先的正版数字音乐服务的领先平台,始终走在音乐潮流最前端,向广大用户提供方便流畅的在线音乐和丰富多彩的音乐社区服务。

音乐的缺点是如果要享受全部功能需要付费开通VIP。

(2)酷狗音乐

酷狗是中国领先的数字音乐交互服务提供商,互联网技术创新的领军企业,致力于为互联网用户和数字音乐产业发展提供最佳的解决方案。

酷狗具有良好的音乐效果,丰富的网络音乐资源,简单的操作成为酷狗音乐吸引用户的特色。

酷狗音乐的缺点是广告较多,且不能关闭。

(3)天天动听

天天动听(TTPOD)是水渡石信息技术开发音乐播放器,是一款功能强大、完全免费的音乐播放软件。

支持歌词和歌曲图片下载,皮肤随心更换,更有炫丽震撼的可视化效果,同时预置丰富的均衡器效果,支持音效增强,简洁人性化的操作,给追求音乐品质的你带来了手机听歌的全新体验。

天天动听的缺点是在低存手机上有明显的卡顿。

1.3目标与围

基于以上前提,决定设计并开发一款轻量级的、界面美观的、操作简单的、免费的在线音乐播放器——波尼音乐。

本软件是一款Android在线音乐播放器,支持播放本地歌曲与网络歌曲。

系统主要实现的功能是播放本地/网络歌曲,控制音乐的播放、暂停,支持歌词与专辑封面显示,自动从云端匹配并下载歌词,拥有多元化的歌曲排行榜,可以根据歌曲或歌手搜索相关歌曲,喜欢的歌曲可以一键下载到本地,支持睡眠模式、夜间模式等实用功能。

复古的黑胶唱片设计,使用户仿佛置身于二十世纪的音乐会现场,给用户带来充满空灵感和现场感的体验。

软件体积小,运行流畅,界面干净无广告,无多余权限,致力于提升用户的听歌体验。

实施本项目需要的硬件资源如下:

(1)x86架构电脑一台(CPUInteli5、存8GB、存储空间500GB)

(2)Android智能手机一台

实施本项目需要的软件资源如下:

(1)JDK1.8

(2)AndroidSDK23

(3)Gradle2.0

(4)AndroidStudio2.0[2]

1.4核心技术

本项目用到的开源技术有:

(s:

//github./square/ok)

是现在主流应用使用的网络请求方式,用来交换数据和容,有效的使用可以使APP变的更快和减少流量的使用。

Ok是一个很棒客户端:

(1)支持SPDY,可以合并多个到同一个主机的请求

(2)使用连接池技术减少请求的延迟(如果SPDY是可用的话)

(3)使用GZIP压缩减少传输的数据量

(4)缓存响应避免重复的网络请求

系统主要利用Ok进行网络请求,与服务器交换数据。

Gson

//github./google/gson)

Gson是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。

可以将一个JSON字符串转成一个Java对象,或者反过来。

功能:

(1)使用toJson()和fromJson()方法,就可以非常容易的完成Java对象到JSON的相互转换。

(2)能将预先存在的无法修改的对象与JSON互相转换。

(3)支持Java泛型的使用。

(4)允许对象的个性化表达形式(representation)。

(5)支持各种复杂(拥有深继承层次结构和大量使用泛型类型)的对象。

系统主要利用Gson配合Ok将软件从服务器获取的原始数据进行快速解析。

Android-Universal-Image-Loader

//github./nostra13/Android-Universal-Image-Loader)

Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。

特点:

(1)多线程的图像加载;

(2)图片异步加载缓存机制,包括存缓存(软引用)与本地缓存;

(3)动态对ImageLoader的配置(线程池的大小,选项,存和光盘高速缓存方式,显示图像,以与其他选项);

(4)对加载过程实现监听和事件处理;

(5)能够配置加载图片的显示选项,包括图片圆角处理和加载完成显示动画等。

系统主要利用Android-Universal-Image-Loader将歌手、专辑等图片进行高效的缓存,以提高应用性能,并解决用户流量。

第2章Android音乐播放器需求分析

2.1功能性需求分析

根据项目要达到的目标,需要制定系统的基本需求,接下来将根据不同模块描述系统需求,并配合用例图来描述系统的功能性需求。

分为以下五个模块来描述:

本地音乐需求,在线音乐需求,正在播放(播放控制)需求,在线搜索需求,扩展功能需求。

2.1.1本地音乐

本地音乐列表的需求

图2-1本地音乐用例图

(1)播放

参与者:

使用者

目标:

使使用者可以播放所点击歌曲

前置条件:

应用已启动,且在“我的音乐”页面

基本事件流:

a.使用者点击需要播放的歌曲item

b.播放器将播放使用者所点击的歌曲

(2)分享

使使用者可以将所选歌曲分享给好友

应用已启动,且在“我的音乐”页面,点击“更多”按钮

a.使用者点击需要分享歌曲item的“更多”按钮,并点击“分享”

b.系统将提示使用者选择分享方式

(3)设为铃声

使使用者可以将所选歌曲设置为手机铃声

a.使用者点击需要设为铃声歌曲item的“更多”按钮,并点击“设为铃声”

b.播放器将所选歌曲设置为手机铃声

(4)删除

使使用者可以将所选歌曲删除

a.使用者点击需要删除歌曲item的“更多”按钮,并点击“删除”

b.播放器将所选歌曲删除并从播放列表中移除

2.1.2在线音乐

当用户点击“在线音乐”中的歌曲排行榜时的需求

图2-2在线歌单用例图

(1)查看歌曲排行榜

使使用者可以查看所选的歌曲排行榜

应用已启动,且在“在线音乐”页面

a.使用者点击需要查看的歌曲排行榜item

b.播放器将打开所选的歌曲排行榜

c.歌曲排行榜显示排行榜说明、更新时间、歌曲列表

当用户点击进入歌曲排行榜后,点击歌曲item的“更多”按钮的需求

图2-3在线音乐用例图

使使用者可以播放所点击的网络歌曲

应用已启动,且在“歌曲排行榜”页面

a.使用者点击需要播放的网络歌曲item

b.播放器将播放使用者所点击的网络歌曲

使使用者可以将所选网络歌曲的试听分享给好友

应用已启动,且在“歌曲排行榜”页面,点击“更多”按钮

a.使用者点击需要分享网络歌曲item的“更多”按钮,并点击“分享”

(3)查看歌手信息

使使用者可以查看所选歌曲的歌手的详细信息

a.使用者点击需要查看歌手信息的网络歌曲item的“更多”按钮,并点击“查看歌手信息”

b.播放器将跳转到“歌手信息”界面,显示歌手图片、身高、体重、简介等信息

(4)下载

使使用者可以将所选网络歌曲与其匹配的歌词下载到本地

a.使用者点击需要下载网络歌曲item的“更多”按钮,并点击“下载”

b.播放器将下载使用者所选网络歌曲与其匹配的歌词,并在下载完成后自动添加到“我的音乐”列表

2.1.3在线搜索

在线搜索时的需求

图2-4在线搜索用例图

(1)搜索

使使用者可以根据输入的歌曲名/歌手名搜索相关歌曲

应用已启动,且在“搜索”界面,系统已连接至互联网

a.使用者输入歌曲名/歌手名并点击搜索

b.播放器将搜索结果以列表的形式展示

(2)播放

同在线音乐“播放”需求

(3)分享

同在线音乐“分享”需求

2.1.4播放控制

播放控制的需求

图2-5播放控制用例图

(1)播放/暂停

使使用者可以播放/暂停当前歌曲

应用已启动,且在“正在播放”页面

a.使用者点击播放/暂停按钮

b.播放器将播放/暂停当前歌曲

(2)上一曲

使使用者可以切换到上一首歌曲

a.使用者点击上一曲按钮

b.播放器将切换到上一首歌曲

(3)下一曲

使使用者可以切换到下一首歌曲

a.使用者点击下一曲按钮

b.播放器将切换到下一首歌曲

(4)播放模式

使使用者可以切换播放模式(全部循环/随机播放/单曲循环)

a.使用者点击切换播放模式按钮

b.播放器将切换播放模式

(5)显示专辑封面

使正在播放界面可以显示当前歌曲的专辑封面,并添加旋转动画

应用已启动,且在“正在播放”页面,且当前正在播放的歌曲包含专辑封面

播放器播放歌曲时自动显示其专辑封面,没有封面的歌曲显示默认封面

(6)显示歌词

使正在播放界面可以显示当前歌曲的歌词,并滚动显示

应用已启动,在“正在播放”页面,当前正在播放的歌曲包含歌词

播放器播放歌曲时自动显示其歌词,并根据歌曲播放进度自动滚动到相应位置,没有歌词的歌曲参见“自动搜索歌词”需求

(7)自动搜索歌词

如果当前播放的歌曲没有歌词,则从网络搜索并下载歌词

应用已启动,且在“正在播放”页面,且当前正在播放的歌曲不包含歌词,系统已连接至互联网

播放器播放歌曲时如果没有歌词,则自动从网络搜索并下载,下载完成后自动显示,同“显示歌词”需求

(8)播放进度调节

使使用者可以调节当前播放歌曲的进度

a.使用者拖拽播放进度条

b.播放器自动跳转到用户选择的位置

(9)音量调节

使使用者可以调节音量

a.使用者拖拽音量进度条

b.系统自动调节音量

2.1.5扩展功能

播放器附带的扩展功能需求

图2-6扩展功能用例图

(1)天气

使播放器可以自动定位并显示当前城市的实时天气信息

应用已启动,系统已连接至互联网

a.使用者启动应用

b.播放器将自动定位并显示当前城市的实时天气信息,包括天气、城市、风力、湿度等信息

(2)功能设置

使使用者可以自定义播放器的偏好设置

应用已启动,打开设置界面

a.使用者点击设置项

b.播放器自动保存所选设置项,包括是否允许移动网络播放在线歌曲、音效调节等

(3)夜间模式

使使用者可以切换夜间/日间模式

应用已启动

a.使用者点击夜间模式

b.播放器自动切换到夜间/日间模式,不影响当前播放的歌曲

(4)定时停止播放

使使用者可以定时停止播放歌曲并退出应用

a.使用者点击定时停止播放

b.播放器弹出对话框让使用者设定时间

c.到达使用者设置的事件后自动停止播放并退出应用

(5)关于说明

使使用者可以查看播放器的关于说明

a.使用者点击关于

b.播放器跳转到关于界面,包含应用版本、检查更新、推荐给朋友、作者信息等

(6)启动界面

使播放器定期更新启动界面图

b.播放器检查本地是否已经下载了启动界面图片,如果没有,则从网络后台下载;

如果已经下载,则直接展示启动画面图

2.2非功能性需求分析

2.2.1软件性能指标

存占用:

30~40MB

CPU占用:

5~10%

启动时间:

1~2s

流量消耗:

每次运行消耗1000KB以(下载流量除外)

FPS:

25~30

2.2.2软件兼容性

系统:

Android4.0或更高

RAM:

128MB或更高

ROM:

256MB或更高

CPU架构:

ARM、x86、MIPS

第3章Android音乐播放器系统概要设计

3.1主要设计容

系统设计了一个Android平台的在线音乐播放器,基于Native方式进行开发。

采用MVC框架,将项目的视图层、数据层和逻辑层分离组织,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面与用户交互的同时,不需要重新编写业务逻辑。

MVC模式图如下:

图3-1MVC模式

系统基于Android开源平台,使用Java语言编写,视图层使用xml实现。

使用Service后台播放音乐,通过Binder绑定Service并设置回调的方式实现前台界面(Activity)到后台服务(Service)之间的交互。

系统和服务器采用json数据,通过Ok+Gson进行数据的传输和解析。

服务器为XX在线音乐服务,通过暴露的restAPI接口,使得客户端可以从服务器获得在线音乐数据。

3.2设计思想

系统由本地音乐文件与XX音乐服务器提供播放源,前台界面展示播放效果。

图3-2设计思想

前台界面包括Activity和Fragment,Activity通过bindService方法可以得到Service的实例,然后通过Service的方法设置Activity的回调,Activity收到回调事件后抄送给Fragment。

在线音乐部分通过Ok+Gson从XX音乐服务获取并解析数据,图片缓存通过Universal-Image-Loader的三级缓存实现。

3.3系统框架

系统主要分为后台服务,数据层,业务层,前台界面四个层次,后台服务主要提供播放逻辑控制,数据层包括本地数据和服务器数据,业务层是各个功能模块,前台界面展示当前播放歌曲的信息。

图3-3系统框架图

3.4系统功能

系统主要包括本地音乐,在线音乐等几大功能,功能如下图:

图3-4系统功能

3.4.1本地音乐

本地音乐功能包括播放,分享,设为铃声等功能,具体功能如下图:

图3-5本地音乐

3.4.2在线音乐

在线音乐功能包括播放,分享,查看歌手信息等功能,具体功能如下:

图3-6在线音乐

3.4.3在线搜索

在线搜索功能包括搜索,播放,分享,下载功能,具体功能如下:

图3-7在线搜索

3.4.4播放控制

播放控制功能主要包括上一曲/下一曲,播放进度调节,播放模式切换等,具体功能如下图:

图3-8播放控制

3.4.5扩展功能

扩展功能包括夜间模式,定时关闭,自动更新等功能,具体功能如下图:

图3-9扩展功能

3.5流程设计

系统主界面显示本地音乐列表,在线歌单列表,快速播放控制以与侧边菜单栏,点击本地音乐可以播放,点击歌单可以进入歌单详情,点击快速播放控制条可以进入正在播放界面,侧边菜单栏包括一些附加功能,系统总体流程图如下:

图3-10流程设计图

第4章Android音乐播放器存储设计

4.1本地存储

该系统支持用户自定义偏好设置,因此需要设计本地存储。

Android目前有以下三种存储方式。

(1)使用SharedPreferences存储数据

适用围:

保存少量的数据,且这些数据的格式非常简单:

字符串型、基本类型的值。

比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),解锁口令密码等。

核心原理:

保存基于XML文件存储的key-value键值对数据,通常用来存储一些简单的配置信息。

通过DDMS的FileExplorer面板,展开文件浏览树,很明显SharedPreferences数据总是存储在/data/data/<

packagename>

/shared_prefs目录下。

SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过SharedPreferences.edit()获取的部接口Editor对象实现。

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

当前位置:首页 > 工程科技 > 交通运输

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

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