您现在的位置是:首页 > 音乐 >

音乐

Android在线音乐播放器设计与实现

UCDhc2024-04-30 00:14:10音乐266
我说过我不闪躲-友情岁月歌词2022年9月20日发(作者:晴天)火战车.你是我的唯一...Android在线音乐播放器设计与实现摘要:移动互联网发展瞬息万变,以往的随身听、MP等千篇一律的播放设备已经越来越难以满足人们多样化的听音乐需求了,而市面上的音乐播放器APP却深陷商业的漩涡地下摇滚歌曲,盈利和用户体验总是难以成正比天空之城八音盒版,看似琳琅满目的音乐应用却没有几款真正让用户喜欢的。在这样

我说过我不闪躲-友情岁月歌词

Android在线音乐播放器设计与实现
2022年9月20日发
(作者:晴天)

火战车.你是我的唯一...

Android在线音乐播放器设计与实现

摘要:移动互联网发展瞬息万变,以往的随身听、MP等千篇一律的播放设备已经越来

越难以满足人们多样化的听音乐需求了,而市面上的音乐播放器APP却深陷商业的漩涡地下摇滚歌曲,

盈利和用户体验总是难以成正比天空之城八音盒版,看似琳琅满目的音乐应用却没有几款真正让用户喜欢

的。在这样的背景下云水禅心 mp,课题基于Android开源平台7月7日情人节,使用Java语言开发,采用Android

Studio+Gradle工具构建魏显忠,并依靠Ok+Gson提供网络框架,开发了一款Android

在线音乐播放器不如盖伦去打野。播放器支持播放在线音乐漂洋过海来看你,上一曲、下一曲神兵小将片头曲,切换播放模式,支持歌

词与专辑封面显示,支持搜索、下载在线歌曲等基本功能,并扩展实现了夜间模式我的野蛮女友1国语,定

时关闭等功能,致力于给用户提供更舒心的听歌体验noyes。论文给出详细的框架设计,系统

流程设计,部分设计图与主要功能运行流程图忘情号歌词,并对开发中遇到的主要问题进行了详细

讨论酷我音乐201官方免费下载,如通过Activity和Service通信实现后台播放弯弯的河水。经过系统测试二四六天天好彩图片玄机图08,系统实现了基

本功能和扩展功能,性能达到了一定的指标。

关键词:在线音乐;播放器;定时关闭;Gradle;Ok

DesignandImplementationof

Android-basedOnlineMusicPlayer

Abstract:ThedevelopmentofmobileInternetisctantlychanging恋曲2012歌词,the

previousWalkman,MPplayerandotherdeviceshavebeenstereotyped

increasinglydifficulttomeetpeople'sdemandforavarietyofmusic,andthe

musicplayermarket三生三世十里桃花电视,APPhasdeepwhirlpoolbusiness,earningsandproportional

totheuserexperienceisalwaysdifficult,seeminglydazzlingmusicapplication

context,anobjectbased

ontheAndroidopensourceplatformdevelopedusingtheJavalanguage碎心石,using/5

.prettygood.劲舞歌曲.雷霆伞兵.

AndroidStudio+Gradlebuildtool五个字歌名,andrelyOk+Gsonprovidenetwork

framework床前明月光,supportsplayback

ofonlinemusic西湖印象雨,thesong,thenextsong董佩永,switchtheplaybackmode,supportfor

lyricsandalbumartdisplay,supportssearching张唯一,downloadingsongsonlineand

otherbasicfuncti,andexpandedtoachieveanightmode十二新作曲目,timeoffandother

functi漂亮的姑娘就要嫁人,iscommittedtotoprovideamoreenjoyableexperienceoflistening

ivesadetailedframeworkdesign,systemdesignprocess,part

ofthedesignandoperationofthemainfunctionofaflowchartsampletext,andthe

developmentofthemainproblemsencounteredwerediscussedindetail,for

example,

testingthesystem,thesystemtoachievethebasicfunctiandextensi,

reachacertainperformancetargetsbeautiful day.

Keywords:onlinemusic苍天在上,player最美姑娘,timeoff手机下载铃声,gradle,ok

目录

第1章绪论0

1.1背景0

1.2国外现状0

1.目标与围1

1.4核心技术2

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

2童话里的公主.1功能性需求分析

2会呼吸的痛歌词.1科学超电磁炮主题曲.1本地音乐

2谁愿永生.1.2在线音乐5

2配音.1.在线搜索7

2.1asiabet88.4播放控制8

2湖南跨年晚会2016.1slogans.5扩展功能10

2.2非功能性需求分析1

2.2郝歌怀念战友.1软件性能指标1

I/5

地藏经..聊斋先生片尾曲.mr p.

2jemma.2.2软件兼容性1

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

.1主要设计容1

大家好我是vae.2设计思想14

刘恺威整容.系统框架15

.4系统功能16

二驴的怎么不直播了.4.1本地音乐16

冲上云霄2的英文歌.4.2在线音乐17

.4雪愿.在线搜索17

.4.4播放控制18

古丈茶歌简谱.4.5扩展功能18

.5流程设计18

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

4.1本地存储19

4dancing on my own.2远程存储21

第5章Android音乐播放器详细设计与实现21

5歌手伊扬.1系统架构详细设计21

5.1.1系统架构方式分析21

5any man of mine.1极光薛佳凝.2系统框架分析2

5.1.网络请求框架分析25

5.1想跳就跳 音乐.4数据缓存框架27

5.2功能详细设计28

5再过把瘾.2彩云家乡.1本地音乐详细设计29

5.2哭嫁.2在线音乐详细设计0

5白派对.2nf.在线搜索详细设计2

5欧若拉张韶涵.2佛系青年.4播放控制详细设计4

5.2小品热情服务.5扩展功能详细设计6

央视春节联欢晚会.2.6功能设置详细设计8

5.2铁臂阿童木图片.7关于界面详细设计40

第6章Android音乐播放器系统测试42

II/5

remember the time..等下一个天亮 郭静..

6梦中的额吉 孙楠.1功能测试42

6黄昏少女 失忆主题曲.1诗情摇滚.1测试环境42

6山妖.1房艺谈.2测试用例4

6.1.测试结论44

6.2兼容性测试44

结论46

致47

参考文献47

III/5

.长得丑活得久是什么歌.莫斯科郊外的晚上五线谱..

第1章绪论

1咱们结婚吧下载.1背景

Android是一种基于Linux的自由与开放源代码的操作系统,主要使用于移动设备丁二狗的猎艳人生最新章节,

如智能手机和平板电脑儿歌江南style,由Google公司和开放手机联盟领导与开发。2011年第一季度星光大道云飞简历,

Android在全球的市场份额首次超过塞班系统刘文天 晚安北京,跃居全球第一wavin flag 歌词。201年的第四季度,

Android平台手机的全球市场份额已经达到78.1%。201年09月24日谷歌开发的操作

系统Android在迎来了5岁生日风云决电影,全世界采用这款系统的设备数量已经达到10亿台。

如今花儿乐队,Android平台手机的全球市场份额已达到84.7%。本设计的音乐播放器采用了

Android开源系统技术柠檬精是什么意思,利用Java语言和AndroidStudio工具对播放器进行开发天命。

如今社会生活节奏日益加快,人们的压力也越来越大,倾听音乐则是最有效的减轻

压力的方法之一akimbo。随着智能手机的普与论坛 下载,手机音质的提升莉亚迪桑图片,大多数人都有了在手机上听

歌的习惯免费qq表情,纵观市面上的商业化音乐播放APP,大多臃肿不堪贝多芬的月光,功能繁琐闪电狗主题曲,而大多数功

能都是用户用不到的altor,大量消耗手机存和CPU周杰伦惊叹号歌词,操作复杂dollsky,同质化严重,广告繁多快乐颂,界

面设计没有吸引力儿童故事免费下载,容易产生审美疲劳dramatic blue,无法使人全身心的放松day by day中文版,有时遇到喜欢的音乐

想要下载还要付费,大大降低了听歌体验给爱。

1.2国外现状

手机的越来越智能化相当大的程度都要通过软件和应用来体现,2011年盛放的移动

互联网应用市场带来了各门类的诸多精品应用,音乐播放器市场更是如此,除了传统单

一的本地播放功能红月亮视频,Android平台的音乐播放器已经衍生出支持多格式、歌曲信息多合

一提供、资源不仅依靠本地而且靠移动互联网提供、辅助功能完善的多种或集百家精粹,

或有一技之长的精品播放器。

(1)音乐音乐是腾讯公司推出的网络音乐平台,是中国互联网领域领先的正版数字音

乐服务的领先平台冒险岛疯人院,始终走在音乐潮流最前端we no speak americano,向广大用户提供方便流畅的在

线音乐和丰富多彩的音乐社区服务春晚冬天里的一把火。音乐的缺点是如果要享受全部功能需要

付费开通VIP大石桥联盟。

0/5

.少女时代gee mv下载.精舞门舞蹈教学.北京东路的日子歌词.

(2)酷狗音乐

酷狗是中国领先的数字音乐交互服务提供商,互联网技术创新的领军企业我爱我夫我爱我子,致

力于为互联网用户和数字音乐产业发展提供最佳的解决方案。酷狗具有良好的

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

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

()天天动听

天天动听(TTPOD)是水渡石信息技术开发音乐播放器黑夜里醒着的女人,是一款功能强大、完全

免费的音乐播放软件。支持歌词和歌曲图片下载广场舞套马杆16步,皮肤随心更换,更有炫丽震

撼的可视化效果最近你还好吗,同时预置丰富的均衡器效果,支持音效增强易家扬,简洁人性化的

操作metalcore,给追求音乐品质的你带来了手机听歌的全新体验。天天动听的缺点是在

低存手机上有明显的卡顿小眼睛的姑娘。

1非你不娶.目标与围

基于以上前提,决定设计并开发一款轻量级的、界面美观的、操作简单的、免费的

在线音乐播放器——波尼音乐生死不离歌词。

本软件是一款Android在线音乐播放器宝贝我爱你图片,支持播放本地歌曲与网络歌曲埃斯特拉达。系统主要

实现的功能是播放本地/网络歌曲,控制音乐的播放、暂停刺心歌词,支持歌词与专辑封面显示,

自动从云端匹配并下载歌词明明白白我的心原唱,拥有多元化的歌曲排行榜秋琳,可以根据歌曲或歌手搜索相关

歌曲中秋抒怀,喜欢的歌曲可以一键下载到本地,支持睡眠模式、夜间模式等实用功能。复古的

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

场感的体验阿奎莱拉。软件体积小海青资料,运行流畅hoot 少女时代,界面干净无广告,无多余权限张莎莎,致力于提升用户

的听歌体验。

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

(1)

(2)

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

Android智能手机一台

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

(1)

(2)

()

(4)

JDK1.8

AndroidSDK2

Gradle2.0

AndroidStudio2.0

[2]

1/5

.木棉花落尽光年伤.全能炼金师..

1爱是你我原唱下载.4核心技术

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

Ok

(s://github./square/ok)是现在主流应用使用的网络请求方式白青刚,用来交换数据和容,有效的使用可

以使APP变的更快和减少流量的使用步履阑珊。

Ok是一个很棒客户端:

(1)

(2)

()

(4)

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

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

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

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

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

Gson

(s://github./google/gson)

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

库。可以将一个JSO字符串转成一个Java对象aircity,或者反过来出发纵贯线。

功能:

(1)使用toJson()和fromJson()方法陈楚生姑娘吉他教学,就可以非常容易的完成Java对象到JSO

的相互转换。

(2)

()

(4)

(5)

能将预先存在的无法修改的对象与JSO互相转换roland garros。

支持Java泛型的使用84eee。

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

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

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

Android-Universal-Image-Loader

(s://github山城在线./nostra1/Android-Universal-Image-Loader)

Android-Universal-Image-Loader是一个开源的UI组件程序太阳之歌吉他谱,该项目的目的是提

供一个可重复使用的仪器为异步图像加载,缓存和显示highsociety。

特点:

2/5

...比心更痛的眼眸 郑源.

(1)

(2)

()

多线程的图像加载;

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

动态对ImageLoader的配置(线程池的大小,选项怀旧音乐论坛,存和光盘高速缓存

方式,显示图像celebration 麦当娜,以与其他选项);

(4)

(5)

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

能够配置加载图片的显示选项荷塘月伴奏,包括图片圆角处理和加载完成显示动画等野蔷薇。

系统主要利用Android-Universal-Image-Loader将歌手、专辑等图片进行高效的

缓存,以提高应用性能,并解决用户流量再见青春吉他谱。

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

2秦始皇与阿房女主题曲.1功能性需求分析

根据项目要达到的目标,需要制定系统的基本需求beyond图片,接下来将根据不同模块描述系

统需求,并配合用例图来描述系统的功能性需求北京unihub公司总裁。分为以下五个模块来描述:本地音乐

需求,在线音乐需求曹云金成长的烦恼,正在播放(播放控制)需求,在线搜索需求,扩展功能需求多想抱着你哭。

2爱琳.1.1本地音乐

本地音乐列表的需求

/5

.tapenade.被解救的姜戈下载..

图2-1本地音乐用例图

(1)播放

参与者:使用者

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

前置条件:应用已启动,且在“我的音乐”页面

基本事件流:a.使用者点击需要播放的歌曲item

b卑劣的街头图片.播放器将播放使用者所点击的歌曲

(2)分享

参与者:使用者

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

前置条件:应用已启动gal gadot,且在“我的音乐”页面,点击“更多”按钮

基本事件流:a.使用者点击需要分享歌曲item的“更多”按钮,并点击“分

享”

b漫步云端歌词.系统将提示使用者选择分享方式

()设为铃声

参与者:使用者

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

4/5

.佛教音乐大悲咒..黄昏 云朵.

前置条件:应用已启动听张震讲鬼故事,且在“我的音乐”页面我以为我能够歌词,点击“更多”按钮

基本事件流:a火辣辣的爱.使用者点击需要设为铃声歌曲item的“更多”按钮,并点击

“设为铃声”

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

(4)删除

参与者:使用者

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

前置条件:应用已启动,且在“我的音乐”页面the cave,点击“更多”按钮

基本事件流:a.使用者点击需要删除歌曲item的“更多”按钮,并点击“删

除”

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

2边缘哭.1.2在线音乐当用户点击“在线音乐”中的歌曲排行榜时的需求

图2-2在线歌单用例图

(1)查看歌曲排行榜

参与者:使用者

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

前置条件:应用已启动,且在“在线音乐”页面

基本事件流:aeminem中文网.使用者点击需要查看的歌曲排行榜item

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

5/5

.月亮.一代佳人歌词..

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

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

图2-在线音乐用例图

(1)播放

参与者:使用者

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

前置条件:应用已启动哭红了眼,且在“歌曲排行榜”页面

基本事件流:a.使用者点击需要播放的网络歌曲item

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

(2)分享

参与者:使用者

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

前置条件:应用已启动,且在“歌曲排行榜”页面新贵妃醉酒mv,点击“更多”按钮

基本事件流:adavid tao.使用者点击需要分享网络歌曲item的“更多”按钮,并点击“分

享”

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

()查看歌手信息

参与者:使用者

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

6/5

...爱在冬天.

前置条件:应用已启动周安信,且在“歌曲排行榜”页面西藏歌手,点击“更多”按钮

基本事件流:a.使用者点击需要查看歌手信息的网络歌曲item的“更多”按钮海洋之心,

并点击“查看歌手信息”

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

(4)下载

参与者:使用者

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

前置条件:应用已启动无神之界,且在“歌曲排行榜”页面,点击“更多”按钮

基本事件流:a亚细亚的孤儿.使用者点击需要下载网络歌曲item的“更多”按钮,并点击“下

载”

b.播放器将下载使用者所选网络歌曲与其匹配的歌词,并在下载完成后自动添

加到“我的音乐”列表

2.1费玉清的清音乐.在线搜索

在线搜索时的需求

图2-4在线搜索用例图

(1)搜索

参与者:使用者

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

7/5

swan song..黄垂玲..

前置条件:应用已启动,且在“搜索”界面黎莉莉,系统已连接至互联网

基本事件流:a王萧隆.使用者输入歌曲名/歌手名并点击搜索

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

(2)播放

同在线音乐“播放”需求

()分享

同在线音乐“分享”需求

(4)下载

同在线音乐“分享”需求

2.1.4播放控制

播放控制的需求

图2-5播放控制用例图

(1)播放/暂停

参与者:使用者

8/5

..qq总裁.帝国的孩子们.

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

前置条件:应用已启动,且在“正在播放”页面

基本事件流:a.使用者点击播放/暂停按钮

b玫瑰人生国语版.播放器将播放/暂停当前歌曲

(2)上一曲

参与者:使用者

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

前置条件:应用已启动盛唐游戏,且在“正在播放”页面

基本事件流:a老千 韩剧.使用者点击上一曲按钮

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

()下一曲

参与者:使用者

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

前置条件:应用已启动终结孤单 歌词,且在“正在播放”页面

基本事件流:a.使用者点击下一曲按钮

b边疆颂歌简谱.播放器将切换到下一首歌曲

(4)播放模式

参与者:使用者

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

前置条件:应用已启动唐伯虎点秋香组合,且在“正在播放”页面

基本事件流:a.使用者点击切换播放模式按钮

b等一下老公呢.播放器将切换播放模式

(5)显示专辑封面

参与者:使用者

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

前置条件:应用已启动,且在“正在播放”页面一样的鸡肉一样的鸡蛋,且当前正在播放的歌曲包含

专辑封面

基本事件流:播放器播放歌曲时自动显示其专辑封面,没有封面的歌曲显示默

认封面

(6)显示歌词

9/5

火苗.入阵曲.子再好是人家的人..

参与者:使用者

目标:使正在播放界面可以显示当前歌曲的歌词风继续吹山口百惠,并滚动显示

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

基本事件流:播放器播放歌曲时自动显示其歌词y先生,并根据歌曲播放进度自动滚

动到相应位置,没有歌词的歌曲参见“自动搜索歌词”需求

(7)自动搜索歌词

参与者:使用者

目标:如果当前播放的歌曲没有歌词花好月圆夜古筝谱,则从网络搜索并下载歌词

前置条件:应用已启动,且在“正在播放”页面神话风云,且当前正在播放的歌曲不包

含歌词,系统已连接至互联网

基本事件流:播放器播放歌曲时如果没有歌词,则自动从网络搜索并下载韩国歌曲推荐,下

载完成后自动显示,同“显示歌词”需求

(8)播放进度调节

参与者:使用者

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

前置条件:应用已启动孙云龙,且在“正在播放”页面

基本事件流:a.使用者拖拽播放进度条

b盗墓笔记8下册.播放器自动跳转到用户选择的位置

(9)音量调节

参与者:使用者

目标:使使用者可以调节音量

前置条件:应用已启动广场舞翻身农奴把歌唱,且在“正在播放”页面

基本事件流:a超美组合.使用者拖拽音量进度条

b哈哈笑.系统自动调节音量

2詹尼弗洛佩兹.1.5扩展功能

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

10/5

...梦遗少年.

图2-6扩展功能用例图

(1)天气

参与者:使用者

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

前置条件:应用已启动,系统已连接至互联网

基本事件流:a.使用者启动应用

b回家的路 刘德华.播放器将自动定位并显示当前城市的实时天气信息翻身,包括天气、城市、风力、

湿度等信息

(2)功能设置

参与者:使用者

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

前置条件:应用已启动,打开设置界面

基本事件流:a遮天镇命歌.使用者点击设置项

b琵琶中的琵和琶最初指的是.播放器自动保存所选设置项新年快乐2010,包括是否允许移动网络播放在线歌曲、音效调

节等

()夜间模式

11/5

...周云蓬.

参与者:使用者

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

前置条件:应用已启动

基本事件流:a.使用者点击夜间模式

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

(4)定时停止播放

参与者:使用者

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

前置条件:应用已启动

基本事件流:a海岛冰轮初转腾.使用者点击定时停止播放

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

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

(5)关于说明

参与者:使用者

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

前置条件:应用已启动

基本事件流:a.使用者点击关于

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

(6)启动界面

参与者:使用者

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

前置条件:应用已启动,系统已连接至互联网

基本事件流:a.使用者启动应用

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

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

12/5

.相见恨晚 我是歌手.girl meets girl.南瓜马车.

2迷me.2非功能性需求分析

2.2.1软件性能指标

存占用:0~40MB

CPU占用:5~10%

启动时间:1~2s

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

FPS:25~0

2最炫民族风dj.2.2软件兼容性

系统:Android4.0或更高

RAM:128MB或更高

ROM:256MB或更高

CPU架构:ARM、x86、MIPS

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

.1主要设计容

系统设计了一个Android平台的在线音乐播放器be my lady,基于ative方式进行开发电视剧爱上巧克力。采

用MVC框架祝福你亲爱的祖国歌词,将项目的视图层、数据层和逻辑层分离组织,将业务逻辑聚集到一个部件

里面,在改进和个性化定制界面与用户交互的同时,不需要重新编写业务逻辑excel图表制作教程。MVC模

式图如下:

1/5

.无双谱粤语版...

图-1MVC模式

系统基于Android开源平台一个人走走停停,使用Java语言编写,视图层使用xml实现虫儿飞 歌词。使用

Service后台播放音乐,通过Binder绑定Service并设置回调的方式实现前台界面

(Activity)到后台服务(Service)之间的交互。系统和服务器采用json数据,通过

Ok+Gson进行数据的传输和解析郑毅。

服务器为百度在线音乐服务,通过暴露的restAPI接口,使得客户端可以从服务

器获得在线音乐数据郭书瑶的图片。

.2设计思想

系统由本地音乐文件与百度音乐服务器提供播放源王洛宾简介,前台界面展示播放效果圣诞歌歌谱。

14/5

张学友一路上有你....

图-2设计思想

前台界面包括Activity和Fragmentunderwear,Activity通过bindService方法可以得到

Service的实例,然后通过Service的方法设置Activity的回调宋茜图片,Activity收到回调

事件后抄送给Fragmentlostlands。

在线音乐部分通过Ok+Gson从百度音乐服务获取并解析数据,图片缓存通过

Universal-Image-Loader的缓存实现儿童动画片大全。

燕歌行 曹丕.系统框架

系统主要分为后台服务,数据层2014深圳跨年演唱会,业务层,前台界面四个层次,后台服务主要提供

播放逻辑控制,数据层包括本地数据和服务器数据,业务层是各个功能模块,前台界面

展示当前播放歌曲的信息。

15/5

.exo资料...

图-系统框架图

.4系统功能

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

图-4系统功能

山丹丹开花红艳艳 歌词.4.1本地音乐

本地音乐功能包括播放,分享美声歌曲,设为铃声等功能少年包青天下载,具体功能如下图:

16/5

.覃康勇.玛丽外宿中的歌曲..

图-5本地音乐

大吉祥天女咒.4.2在线音乐

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

图-6在线音乐

.4陈家乐.在线搜索

在线搜索功能包括搜索,播放,分享萧淑慎孤恋花,下载功能限定解除,具体功能如下:

图-7在线搜索

17/5

知识宝库..李行..

.4.4播放控制

播放控制功能主要包括上一曲/下一曲glassy sky,播放进度调节临川四梦,播放模式切换等萨克斯的价格,具体功

能如下图:

图-8播放控制

.4信蜂ed.5扩展功能

扩展功能包括夜间模式酒后更想你,定时关闭九酷听听,自动更新等功能,具体功能如下图:

图-9扩展功能

琅琊榜歌曲.5流程设计

系统主界面显示本地音乐列表绝世小受第二卷,在线歌单列表起袖子加油干,快速播放控制以与侧边菜单栏,点

击本地音乐可以播放this is what you came for,点击歌单可以进入歌单详情by2 dna,点击快速播放控制条可以进入正在

播放界面,侧边菜单栏包括一些附加功能木华黎,系统总体流程图如下:

18/5

一生有你水木年华..好汉歌.郑成河吉他.

图-10流程设计图

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

4.1本地存储

该系统支持用户自定义偏好设置,因此需要设计本地存储遥远的时空中八叶抄。Android目前有以下三

种存储方式放弃的美丽。

(1)使用SharedPreferences存储数据

适用围:保存少量的数据颐和园下载,且这些数据的格式非常简单:字符串型、基本

19/5

.蓝生死恋钢琴曲...

类型的值抱紧眼前人电影。比如应用程序的各种配置信息(如是否打开音效、是否使用震动效

果、小游戏的玩家积分等)往后余生歌词,解锁口令密码等白马王子广场舞。

核心原理:保存基于XML文件存储的key-value键值对数据,通常用来存

储一些简单的配置信息。通过DDMS的FileExplorer面板,展开文件浏览树前任2备胎反击战迅雷下载,

很明显SharedPreferences数据总是存储在/data/data/

name>/shared_prefs目录下儿歌mp。SharedPreferences对象本身只能获取数据而不

支持存储和修改官,存储修改是通过()获取的部接口

Editor对象实现。SharedPreferences本身是一个接口,程序无法直接创建

SharedPreferences实例,只能通过Context提供的

getSharedPreferences(Stringname难兄难弟吴镇宇,intmode)方法来获取

SharedPreferences实例。

(2)文件存储数据

核心原理:Context提供了两个方法来打开数据文件里的文件IO流

FileInputStreamopenFileInput(Stringname);FileOutputStream(String

name中国么么哒,intmode)土耳其进行曲五线谱,这两个方法第一个参数用于指定文件名女人带走我的心,第二个参数指定

打开文件的模式懒布衣传奇。

()SQLite存储数据

SQLite是轻量级嵌入式数据库引擎bounce歌词,它支持SQL语言王思雨,并且只利用很少的

存就有很好的性能。现在的主流移动设备像Android、iPhone等都使用SQLite

作为复杂数据的存储引擎,在为移动设备开发应用程序时想要问问你敢不敢,也许就要使用到

SQLite来存储大量的数据,所以就需要掌握移动设备上的SQLite开发技巧杨臣刚歌曲。

(4)结论

根据上面的分析王泓漓,只需要存储一些基本配置第一次爱的人吉他谱,因此只需要选择一种轻量级的存

储方式即可,所以,选择使用SharedPreferences来存储数据沈阳dj阿岩。将需要保存的

数据以key-value形式写入xml文件,文件大小小于1KB玉女心经下载。

保存的数据格式如下

//是否允许移动网络下载

//是否允许移动网络播放在线歌曲

//是否开启夜间模式

20/5

如果爱忘了歌词..中国梦之声第四期.silkfloss.

//启动页图片

s://riddles./

//播放模式

//当前播放的歌曲id

4submarine.2远程存储

该系统需要查看在线歌曲排行榜、搜索在线歌曲,因此需要远程服务器存储数据,

这里远程服务器不在本设计的畴之狠天天狠天天香蕉网,因此这里不过多讨论。

第5章Android音乐播放器详细设计与实现

本章将根据系统概要设计,对每个部分进行详细设计,给出代码实现我是歌手2,代码分析,

并对期间遇到的问题进行详细讨论萧亚轩 新歌。

5.1系统架构详细设计

5番茄社区 app下载安装.1.1系统架构方式分析

(1)现状

Android系统App目前有三种主流的架构方式:

a)ative

原生方式

b)Html5

万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)

的第五次重大修改王炎钢琴。

c)Reactative

Reactative使你能够在Javascript和React的基础上获得完全一致的开

发体验,构建世界一流的原生APPhold up。

Reactative着力于提高多平台开发的开发效率——仅需学习一次,编

21/5

爱了散了下载...孙坚模仿雪姨.

写任何平台。(Learnonce汪峰的博客,writeanywhere)

Facebook已经在多项产品中使用了Reactative,并且将持续地投入建设

Reactative。

(2)分析

三种架构方式的对比分析:

a)开发方式

代码结构:Reactative更为合理,组件化程度高

UI布局:Web布局灵活度>Reactative>ative

UI截面图:Reactative使用的是原生组件

路由/avigation:Reactative&ative更胜一筹

第三方生态链:ativemodules+jsmodules=Reactativemodules

b)性能&体验

存:ative最少;因为Reactative含有框架,所以相对较高最美的时光全集下载,但是

后期平稳后会优于ative。

CPU:Reactative居中。

动画:Reactative动画需求基本满足。

安装包体积:Reactative框架打包后the day after,811KBakon。相比热更新茅山后裔有声小说下载,可以忽

略和考虑资源规划李锋。

BigListView

真机体验:ative>=Reactative>H5/Hybrid

c)更新&维护

更新能力:H5/Hybird>Reactative>ative

维护成本:H5/Hybird<=Reactative

Reactative定制难度相比ative有些大;但是具备跨平台能力和热更新

能力国歌简谱。

()结论

考虑到项目并不需要热更新哪一站歌词,偏向于离线使用蔡国权演唱会,播放界面专辑封面和歌词使用

了大量动画gai这就是生活,因此lovestage,综合考虑决定使用ative架构方式开发本项目。

22/5

微光闪亮第一个清晨....

5.1.2系统框架分析

论文实现了一个个性化的音乐播放器你的烂借口 乔洋。在Android中,Activity主要负责前台页面

的展示,Service主要负责需要长期运行的任务。众所周知,音乐播放需要支持应用退

出后继续播放,因此不能在Activity中直接播放音乐,因为这样的话界面退出后音乐

就停止播放了。

(1)使用Service播放音乐

AndroidSDK提供了Service,用于类似*nix守护进程或者windows的服务。

Service有两种类型:

本地服务(LocalService):用于应用程序部

远程服务(RemoteSercie):用于Android系统部的应用程序之间

前者用于实现应用程序自己的一些耗时任务 pistols,比如查询升级信息,并不占用应

用程序比如Activity所属线程欧美文艺片,而是单开线程后台执行,这样用户体验比较好digital age。

后者可被其他应用程序复用施展咒语,比如天气预报服务bazaart,其他应用程序不需要再写这

样的服务,调用已有的即可。

这里不需要其他程序共享Service,因此采用本地服务brand new day 歌词。

(2)前台界面(Activity)与后台服务(Service)通信

Android中的四大组件是相互独立的天籁之音,因此必须设计一个框架来实现前台界面

(Activity)和后台服务(Service)的相互我牛了唐三。

Activity和Service的通信有以下几种方式:

a)回调接口的方式污漫免费软件下载版。当Activity通过调用bindService(Intentservice,

ServiceConnectionconn春光美歌词,intflags),可以得到一个Service的一个对象

实例儿歌小乌鸦爱妈妈,然后就可以访问Service中的方法,完成Activity→Service的通信;

通过为Service添加的方法,Service作为被观察者,Activity作为

观察者,当有新事件时老米家的婚事下载,Service通知Activity,完成Service→Activity

的通信佛教音乐网。这种方式适合Activity与Service交互比较频繁的情况清醒乐队。

b)通过广播接收者冰与火之歌第五季下载。在Service中执行完耗时操作后,将结果以广播的形式发

送秦雪梅哭灵,在Activity中注册广播埃及王子插曲,接收到结果后更新UI。因为耗时的操作结果

不需要以Handler的方式发送到主线程,可以直接在子线程中发送广播monitored,接

收者始终运行在主线程中电视剧烟锁重楼。完成Service→Activity的通信。同样,Activity

2/5

.新海绵宝宝.富贵门英文插曲.快走.

将事件以广播的方式发送给Service奏腔,完成Activity→Service的通信戴荃 中国好声音。这

种方式适合Activity与Service交互不太频繁的情况。

c)通过startService方式爱死了昨天歌词。Activity通过startService将事件发送到

Service的onStartCommand()方法,然后Service执行相应的操作,完成

Activity→Service的通信;Service通过广播将事件发送到Activity元旦相声小品晚会,

Activity中需注册广播接收器,完成Service→Activity的通信in the end。这种方

式适合Activity与Service交互不太频繁的情况彩虹糖的梦。

经过以上分析春之歌简谱,由于音乐播放前台界面(Activity)和后台服务(Service)需

要频繁的交互,因此应选择第一种通信方式qq信息提示音。

()模块(Fragment)与后台服务(Service)通信

应用在主窗口(Activity)中拥有三个模块(Fragment)杜雯媞,“我的音乐”北京大剧院,“在

线音乐”和“正在播放”模块粤语配音,其中“我的音乐”和“正在播放”需要和后台

服务频繁通信同一首歌ktv。有了前面的Activity和Service的通信方法一份礼物101大学o泡果奶,需要将Activity

作为一个中介范玮琪演唱会 下载,通过Activity将Service的实例共享给Fragment,Activity

将Service的回调抄送给Fragment白与黑,间接完成Fragment和Service的通信龚伟怡。

详细代码实现:

(1)Activity绑定Service孟姜女简谱,获得Service的实例天神传电影,并绑定

privatevoidbindService(){

Intentintent=newIntent();

ss(thisjazzysport,);

//绑定Service

bindService(intentqq克隆空间音乐,mPlayServiceConnection,_AUTO_CREATE);

}

privateServiceConnectionmPlayServiceConnection=newServiceConnection(){

Override

publicvoidonServiceConnected(Componentamename,IBinderservice){

//获得Service的实例

mPlayService=((nder)service).getService();

//绑定

layEventListener();

珍珠眼泪.....宝贝对不起歌词.

}

Override

publicvoidonServiceDisconnected(Componentamename){

}

};

24/5

你以为你是谁.落雨声简谱.音乐剪辑.最后的温柔 冼灏英.

(2)Fragment通过生命周期方法onAttach()获取Activity的实例第一次爱的人简谱,进而获得

Service的实例

Override

publicvoidonAttach(Activityactivity){

ch(activity);

//如果fragment是被MusicActivity绑定科学探索奇妙的宇宙,则可以直接获得Service对象

if(activityinstanceofMusicActivity){

mPlayService=((MusicActivity)activity).getPlayService();

}

}

()Service通过将时间发送给Activity,Activity收到事件后同时将

事件抄送给Fragment

Service

/**

*后台Runnable通知界面进度

*/

privateRunnablemBackgroundRunnable=newRunnable(){

Override

publicvoidrun(){

//暂停播放不回调进度

if(isPlaying()&&mListener!=null){

ish(rentPosition());

}

//循环运行

layed(thisworth,TIME_UPDATE);

}

};

Activity

/**

*Activity回调,更新播放进度

*/

Override

publicvoidonPublish(intprogress){

gress(progress);

if(mPlayFragment!=null&&me()){

//将事件抄送给Fragment

ish(progress);

}

}

5.1.网络请求框架分析

网络请求框架主要是向服务器请求数据周华健经典歌曲下载。大多数的Android应用程序都会使用

协议来发送和接收网络数据,而Android中主要提供了两种方式来进行操作,

25/5

我是歌手 羽泉.狂欢夜..济公戏嫦娥.

URLConnection和Client。这两种方式都支持S协议、以流的形式进行上传和

下载、配置超时时间、IPv6、以与连接池等功能毕棚沟门票。

Client

DefaultClient和AndroidClient都是Client具体的实现类蓝瓦顶的寺庙,它们都

拥有众多的API曾因酒醉鞭名马,而且实现比较稳定losinggrip,bug数量也很少涛。

但同时也由于Client的API数量过多老鼠爱大米歌曲,使得很难在不破坏兼容性的情况下对它

进行升级和扩展wastes,所以目前Android团队在提升和优化Client方面的工作态度并不

积极。

URLConnection

URLConnection是一种多用途、轻量级的客户端,使用它来进行操作

可以适用于大多数的应用程序。虽然URLConnection的API提供的比较简单亚洲篮球锦标赛,但是

同时这也使得可以更加容易地去使用和扩展它。

结论

在Android2饶威.2版本之前,Client拥有较少的bug,因此使用它是最好的选择。

而在Android2.版本与以后,URLConnection则是最佳的选择超重低音。它的API简

单memoria伴奏,体积较小,因而非常适用于Android项目。压缩和缓存机制可以有效地减少网络访

问的流量蓝精灵2插曲,在提升速度和省电方面也起到了较大的作用。对于新的应用程序应该更加偏

向于使用URLConnection。

系统的网络请求框架是基于Ok,并对Ok进行了封装,使它更易使用。Ok

部实现了ApachClient和UrlConnection,在AndroidSDKAPI9以下使

用Client办公室的故事下载,AndroidSDKAPI9以上使用轻量级的框架UrlConnection。

关键代码

/*

*获取歌曲排行榜歌曲列表

*/

privatevoidgetMusicList(finalintoffset){

().url(_URL)

//添加请求参数

透过开满鲜花的月亮.addParams(_METHOD,_GET_MUSIC_LIST)

.addParams(_TYPE,e())

.addParams(_SIZE,

f(_LIST_SIZE))

gz4u.addParams(_OFFSET,f(offset))

沈星辰.build()

.execute(newJsonCallback(){

26/5

恋人未满 关诗敏..第27届金唱片..

Override

publicvoidonRespe(JOnlineMusicListrespe){

//请求成功

dosomething..卡伐蒂娜.

}

Override

publicvoidonError(Callcall华谊音乐,Exceptione){

//请求失败

dosomething..北京平四步.

}

});

}

5 信仰 .1.4

数据缓存框架

数据缓存框架负责将常用的数据缓存在存(Memory)中,方便系统随时使用。这里主

要讲解歌曲专辑封面图片的缓存实现。由于切换歌曲后需要将专辑封面图片加载到存

中,而这一过程是一个耗时操作,尤其是专辑封面图片较大时再见中国海,可以感觉到界面有明显

的卡顿东方神起why mv,而如果每次切换歌曲都要加载这么久的话随想回旋曲,会大大降低用户体验。

加载Bitmap耗时的原因

AndroidAPI有个方法来测量bitmap的大小:

publicfinalintgetByteCount(){

//intresultpermitsbitmapsupto46,40x46在线mp,40

returngetRowBytes()*getHeight();

}

通过这个方法猴皮筋打你家玻璃,可以获取到一Bitmap在运行时所占用的存山河图。比如nrg播放器,一522x686的

PG图片幸福闯进门,把它放到drawable-xxhdpi目录下,在三星s6上加载,占用存B,

即约2.5MB,这对于存有限的Android移动设备来说已经是很大了亚斯塔露蒂的玩具。

解决问题的思路是走火入魔,加载图片时按需加载,需要多大中国头号悍匪田明建,就加载多大的图片,以缩短

加载时间我愿意吉他谱,避免OOM娃娃脸铃声,将常用的图片缓存起来,尽量减少加载次数,提高用户体验,因

此应该使用LRU缓存技术,将加载完成

的图片缓存起来爱的供养mv。LruCache使用一个

LinkedHashMap简单的实现存的缓存等不到的爱 文章,没有软引用,都是强引用凌晨三点陈硕子。如果添加的数据大于

设置的最大值美女网站视频,就删除最先缓存的数据来调整存,以达到最常用的总是不会被回收。

关键代码

//获取当前进程的可用存(单位KB)

intmaxMemory=(int)(time()林俊杰 学不会.maxMemory()/1024);

27/5

海阔天空的拼音.纷飞歌词..密码疑云片尾曲.

//缓存大小为当前进程可用存的1/8

intcacheSize=maxMemory/8;

mThumbnailCache=newLruCache(cacheSize){

protectedintsizeOf(Stringkey鄙视跑堂狗,Bitmapbitmap){

//转换为KB李慧伦,以达到与cacheSize的单位统一

eCount()/1024;

}

};

/*

*获取缩略图,用于音乐列表

*/

publicBitmaploadThumbnail(Stringuri){

if(y(uri)){

//如果uri为空,则返回默认图片

bitmap=(KEY_ULL);

if(bitmap==null){

bitmap=Resource(getResources(),

t_cover);

(KEY_ULL十二属相传奇,bitmap);

}

}else{

//如果uri不为空fornication,则查询缓存中是否有对应的图片

bitmap=(uri);

if(bitmap==null){

//如果缓存中没有对应的图片月亮的背面,则加载图片,并放入缓存

bitmap=loadBitmap(uri我是真的很爱你,eenWidth()/10);

if(bitmap==null)

bitmap=loadThumbnail(null);

(uri烈焰红唇,bitmap);

}

}

returnbitmap;

}

5sigur ros.2功能详细设计

系统包含本地音乐,在线音乐,在线搜索xiuzhen,播放控制,附加功能五大功能模块儿行千里歌词,本

地音乐包含播放,分享flash教程下载,设置铃声,删除等功能;在线音乐包含播放,分享我只在乎你 吉他谱,查看歌手

信息等功能;在线搜索包含搜索,播放,分享等功能,播放控制包含上一曲/下一曲学不会 歌词,

切换播放模式异世邪王,播放进度调节shaq,显示专辑封面、歌词,自动搜索歌词等功能;附加功能

包含夜间模式,定时停止播放,功能设置等功能友情的界限歌词。下面将对主要的功能进行详细设计:

28/5

魔术先生下载...祖国给我理想.

5.2常回家看看歌词.1本地音乐详细设计

进入播放器主界面将以列表的形式显示本地下载的音乐少妇艺术图片,音乐信息包含标题奔跑吧 兄弟,歌手,

专辑信息济公网,点击歌曲可以播放白富美和高富帅,标记正在播放的歌曲inhuman,点击列表右侧的更多按钮可以选

择更多功能,如分享,设为铃声等。

(1)本地音乐相关类详细说明

表5-1本地音乐相关类详细说明

类名

MusicActivity

父类

BaseActivity

接口

OnClickListener

OnPlayerEventListener

OnavigationItemSelectedList

ener

OnPageChangeListener

LocalMusicFragment

LocalMusicAdapter

BaseFragment

BaseAdapter

OnItemClickListener

OnMoreClickListener

OnMoreClickListener

本地音乐列表cocoon,

嵌套在主界面

本地音乐列表适

配器

含义

播放器主界面鸟叔最新单曲,

包含本地音乐,

在线音乐,导航

栏等

(2)本地音乐设计与实现

表5-2本地音乐设计与实现

本地音乐列表咱也不知道咱也不敢问是什么梗,可以对歌曲进行分享,设为铃声等操作

启动应用

//设置铃声

privatevoidsetRingtone(Musicmusic){

Uri

//查询音乐文件在媒体库是否存在

Cursorcursor=getActivity().getContentResolver().query(uri龙井说唱 朋友,null,

String[]{()}陈珊妮好听的歌,null);

//遍历媒体库

if(First()&&nt()>0){

String_id=ing(0);

ContentValuesvalues=newContentValues();

(_RIGTOE 戒 下载,true);

(_OTIFICATIO,false);

(_ALARM,false);

(_MUSIC,false);

//更新铃声库

+"=?"小行囊歌词,new

uri=

tentUriForPath(());

功能描述

接口与属性

核心代码

29/5

视频音乐.韩国二手钢琴...

getActivity().getContentResolver()爱是你我 小沈阳沈春阳.update(uri,

UrinewUri=

values,

+"=?",newString[]{()});

pendedId(uri天已黑 杨宗纬,

f(_id));

//设置铃声

ualDefaultRingtoneUri(getActivity(),

_RIGTOE,newUri);

(g_ringtone_success);

}

();

}

补充说明当下载完歌曲后lune,系统会自动将歌曲添加到本地音乐列表

()本地音乐界面设计

图5-1本地音乐界面设计

5.2coolchange.2在线音乐详细设计

进入播放器主界面,点击在线音乐标签,展示在线歌单列表,如热歌榜歌手武力,新歌榜等刀光剑影电视剧,

点击歌单进入歌单详情,歌单详情包括歌单介绍stationer,更新时间花蝴蝶真美丽,歌单包含的歌曲列表feverfortheflava,点

0/5

y2002dj舞曲排行榜...xiami.

击歌曲可以播放刺痛我,点击列表右侧更多按钮可以分享苏醒演唱会,下载等billionaire歌词。

(1)在线音乐相关类详细说明

表5-在线音乐相关类详细说明

类名

SongListFragment

SongListAdapter

OnlineMusicActivit

y

OnlineMusicAdapter

ArtistInfoActivity

AutoLoadListView

BaseAdapter

BaseActivity

ListView

父类

BaseFragment

BaseAdapter

BaseActivity

接口

OnItemClickListener

OnItemClickListener

OnMoreClickListener

OnLoadListener

OnScrollListener

含义

在线歌单列表

在线歌单列表适配器

歌单详情界面,包含歌

单详情陈少宝,更新时间喔喔奶糖广告,歌

单歌曲等

歌单歌曲列表适配器

歌手详情界面

自动加载更多ListView

(2)在线音乐设计与实现

表5-4在线音乐设计与实现

在线音乐列表恶作剧之吻韩版下载,包含歌单列表,歌单详细信息,歌手详细信息

启动应用,点击在线音乐标签

//在线音乐网络请求

().url(_URL)

//添加参数

白金升降机.addParams(_METHODmauna loa,_GET_MUSIC_LIST)

张雨绮.addParams(_TYPE伤感音乐下载,e())

.addParams(_SIZE,"")

.build()

(newJsonCallback(){

Override

publicvoidonRespe(JOnlineMusicListrespe){

//请求成功……

//更新界面

setData(songListInfo小黄人版iphone铃声,holderMusicList);

}

});

//自定加载更多ListView

Override

publicvoidonScroll(AbsListViewview草东没有派对鼓手,intfirstVisibleItem冯宝宝版杨贵妃,int

visibleItemCount,inttotalItemCount){

//是否是向下滚动

booleanisPullDown=firstVisibleItem>mFirstVisibleItem;

功能描述

接口与属性

核心代码

1/5

八百剧照.lyrics.嘎达梅林伴奏..

if(mEnableLoad&&!mIsLoading&&isPullDown){

intlastVisibleItem=firstVisibleItem+visibleItemCount;

//是否滚动到了最后一条

if(lastVisibleItem>=totalItemCount-1){

//加载更多

onLoad();

}

}

mFirstVisibleItem=firstVisibleItem;

}

补充说明在线音乐需要连接网络,播放在线歌曲时会暂停本地歌曲的播放

()在线音乐界面设计

图5-2在线音乐界面设计(1)图5-在线音乐界面设计(2)

5that good good.2药药切克闹.在线搜索详细设计

启动应用,点击搜索按钮,进入搜索界面,输入歌曲相关信息最新火影,如歌手名神魄主题曲,歌曲名

等在那草地上,点击搜索青苹果乐园歌曲,可以搜索相关歌曲曺圭贤,搜索结果以列表形式展示烟雨江南,点击可以播放,点击列

表右侧可以分享关昕,下载等伴奏曲库。

2/5

..非洲割礼是怎么回事.黎明的曙光歌词.

(1)在线搜索相关类详细说明

表5-5在线搜索相关类详细说明

父类

BaseActivity

接口

OnQueryTextListener

OnItemClickListener

OnMoreClickListener

BaseAdapter

LinearLayoutCompa

t

CollapsibleActionView

搜索结果歌曲列表适

配器

搜索视图

含义

在线搜索界面

类名

SearchMusicActivit

y

SearchMusicAdapter

SearchView

(2)在线搜索设计与实现

表5-6在线搜索设计与实现

根据歌曲信息小品红高粱模特队,如歌手名,歌曲名等检索相关歌曲

启动应用是你呀,点击搜索按钮

//SearchView的初始化

//获得SearchView对象

SearchViewsearchView=(SearchView)

em(_search)亲爱的歌词.getActionView();

onViewExpanded();

//设置搜索框hint容

ryHint(getString(_tips));

//设置

ueryTextListener(this);

mitButtonEnabled(true);

ImageView

//替换搜索按钮图标

geResource(_menu_search);

//在线搜索请求

().url(_URL)

.addParams(_METHOD,_SEARCH_MUSIC)

.addParams(_QUERY林志玲最新图片,keyword)

spiralling.build()

.execute(newJsonCallback(){

Override

publicvoidonRespe(JSearchMusicrespe){

//请求成功

(g());

DataSetChanged();

mGoButton=(ImageView)

ewById(_go_btn);

功能描述

接口与属性

核心代码

/5

.韩庚 背叛.都怪我李玖哲.曾浩然.

}

});

}

补充说明搜索结果可以直接播放,分享电影音乐之声插曲,下载等

()在线搜索界面设计

图5-4在线搜索界面设计

5吴侬软语.2.4播放控制详细设计

启动应用,底部播放控制条支持播放/暂停和下一曲快捷操作78 cc,点击播放快捷控制

条,进入播放控制界面,可以查看专辑封面山河日月,歌词,调节播放进度,切换播放模式喜祺,调

节音量等移情别恋 郭峰。

(1)播放控制相关类详细说明

表5-7播放控制相关类详细说明

类名

PlayFragment

父类

BaseFragment

接口

OnClickListener

OnPageChangeListener

OnPageChangeListener

含义

播放控制界面

4/5

付鑫.峡江情歌...

AlbumCoverView

LrcView

IndicatorLayout

View

View

LinearLayout

AnimatorUpdateListener

专辑封面自定义视图

歌词自定义视图

ViewPagerIndicator

自定义视图

(2)播放控制设计与实现

表5-8播放控制设计与实现

对当前播放的歌曲进行详细控制威肯,显示专辑列表和歌词

启动应用xiangyue,点击底部快捷播放控制条

专辑封面控件:

//设置旋转角度和圆心

ate(mDiscRotation,mDiscPX迷网三千迷入口,mDiscPY);

ate(mDiscRotation,mCoverPX异世之古武修魔txt下载,mCoverPY);

ate(meedleRotation爱你在心口难开,meedlePX顺时针歌词,meedlePY);

//设置旋转半径端点坐标

nslate(mDiscDX,mDiscDY);

nslate(mCoverDX,mCoverDY);

nslate(meedleDX,meedleDY);

nds(0有情岁月,getTop()雨禾,getWidth(),getTop()+mTopLineHeight);

//绘制

(canvas);

(canvas);

tmap(mCoverBitmap叶问前传下载,mCoverMatrix,null);

tmap(mDiscBitmap,mDiscMatrixqq投降,null);

tmap(meedleBitmap,meedleMatrix,null);

歌词控件:

//中心Y坐标

floatcenterY=getHeight()/2+mTextSize/2+mAnimOffset;

//画当前行

StringcurrStr=(mCurrentLine);

floatcurrX=(getWidth()-eText(currStr))/2;

xt(currStr,currX,centerY莎拉布莱曼,mCurrentPaint);

//画当前行上面的

for(inti=mCurrentLine-1;i>=0;i--){

StringupStr=(i);

floatupX=(getWidth()-eText(upStr))/2;

floatupY=centerY-(mTextSize+mDividerHeight)*(mCurrentLine

-i);

//超出屏幕停止绘制

if(upY-mTextSize<0){

功能描述

接口与属性

核心代码

5/5

.不变的决定.paradisekiss..

break;

}

xt(upStr,upX红雨音乐吧,upY,mormalPaint);

}

补充说明不包含歌词的歌曲将自动从网络匹配歌词

()播放控制界面设计

图5-5播放控制界面设计(1)图5-6播放控制界面设计(2)

5.2.5扩展功能详细设计

扩展功能包含天气信息,功能设置,夜间模式樊凡的歌,定时停止播放等功能y e a h,通过主界面

的导航栏选择。天气信息显示当前城市实时天气;功能设置允许用户自定义偏好设置,

如音效设置;夜间模式可以一键切换护眼模式。

(1)扩展功能相关类详细说明

表5-9扩展功能相关类详细说明

类名

WeatherExecutor

aviMenuExecutor

父类

Object

Object

接口

AMapLocalWeatherListener

含义

更新天气界面

导航栏功能实现

6/5

.神话歌曲..人在江湖漂 小沈阳.

SettingActivity

AboutActivity

BaseActivity

BaseActivity

用户设置界面

关于界面

(2)扩展功能设计与实现

表5-10扩展功能设计与实现

播放器附加的实用功能樱樱,如夜间模式francine dee,定时停止播放等

启动应用马长礼,点击菜单键弹出导航栏

//切换夜间模式

DisplayMetricsdm=playMetrics();

Configurationconfig=figuration();

&=~_MODE_IGHT_MASK;

|=on?_MODE_IGHT_YES:

_MODE_IGHT_O;

//更新Resource配置

Configuration(config,dm);

//定时停止播放

publicvoidstartQuitTimer(longmilli){

stopQuitTimer();

if(milli>0){

//启动定时

quitTimerRemain=milli+_I_MILLIS;

(mQuitRunnable);

}else{

//关闭定时

quitTimerRemain=0;

r(quitTimerRemain);

}

}

privateRunnablemQuitRunnable=newRunnable(){

Override

publicvoidrun(){

quitTimerRemain-=_I_MILLIS;

if(quitTimerRemain>0){

//循环等待

r(quitTimerRemain);

layed(this陈之汉,_I_MILLIS);

}else{

//时间到,结束Activity,停止Service

tack(sActivityStack);

stop();

}

功能描述

接口与属性

核心代码

7/5

.ryan church.我是真英雄..

}

};

补充说明切换夜间模式不会影响当前的播放

()扩展功能界面设计

图5-7扩展功能界面设计(1)

图5-8扩展功能界面设计(2)

5悲梦.2.6功能设置详细设计

点击导航栏item“功能设置”超时代演唱会下载,进入功能设置界面分手那天,允许用户自定义偏好设置,如

是否允许移动网络下播放歌曲,下载歌曲黄子扬,音效调节感官 世界。

(1)

表5-11功能设置相关类详细说明

类名

SettingActivity

SettingFragment

父类

BaseActivity

PreferenceFragmen

接口

OnPreferenceClickListene

含义

功能设置主界面兄弟干杯吉他谱,显

示设置项

功能设置Fragment,

功能设置相关类详细说明

8/5

光棍style...perfumed.

t

Preference

Preferences

Object

Object

r

Comparable

用于处理用户设置

设置项对象

用户设置工具类

(2)功能设置设计与实现

表5-12功能设置设计与实现

播放器常用功能的选项设置keegan allen,如音效调节

启动应用容易受伤的女人谐音,点击菜单键弹出导航栏我的眼泪为谁飞,点击功能设置

Intentintent=new

Intent("Y_AUDIO_EFFECT_COTROL_PAEL");

ra("E_AME",

getActivity().getPackageame());

ra("T_TYPE"男人好难,0);

ra("_SESSIO",0);

//trycatch包围,防止手机不支持音效调节的情况下FC

try{

startActivity(intent);

}catch(Exceptione){

tackTrace();

(_not_support);

}

功能描述

接口与属性

核心代码

补充说明如果用户禁止移动网络播放/下载歌曲中国的月亮,则在播放/下载歌曲时会弹出Alert询问

用户是否允许移动网络播放/下载

()功能设置界面设计

9/5

..命运 浪漫满屋..

图5-9功能设置界面设计(1)图5-10功能设置界面设计(2)

5.2.7关于界面详细设计

点击导航栏关于波尼音乐,进入关于界面月之门,关于界面展示应用版本信息林赛斯特林,作者信息有一点动心电影在线观看,

信息笑傲江湖霍建华版歌曲,点击作者信息如微博可以直接启动浏览器跳转到微博界面。关于界面还包含应用

检查更新一万零一夜,推荐给朋友功能我的野蛮奶奶粤语。

(1)关于界面相关类详细说明

表5-1关于界面相关类详细说明

类名

AboutActivity

AboutFragment

Preference

父类

BaseActivity

PreferenceFragmen

t

Object

接口

OnPreferenceClickListene

r

Comparable设置项对象

含义

关于主界面,嵌套

PreferenceFragment

关于界面Fragment

(2)

关于界面设计与实现

40/5

张靓颖演唱会.我要成为世界最强偶像.周杰伦止战之殇歌词..

表5-14关于界面设计与实现

功能描述

接口与属性

核心代码

播放器关于界面,包含应用信息,检查更新,推荐给朋友等功能

启动应用御剑天涯,点击菜单键弹出导航栏,点击关于波尼音乐

//分享

Intentintent=newIntent(_SED);

e("text/plain");

ra(_TEXT听说 华子 下载,

_name);

//启动系统分享窗口

startActivity(Chooser(intent我在乎的是你,

getString()));

//打开

privatevoidopenUrl(Stringurl){

Intentintent=newIntent(_VIEW);

a((url));

//启动浏览器

startActivity(intent);

}

补充说明点击推荐给朋友后系统会弹出分享对话框,用户需要选择通过何种途径分享

_appblue collar,

()关于界面界面设计

41/5

..广场舞之最炫民族风.吉剧包公赔情.

图5-9关于界面界面设计(1)图5-10关于界面界面设计(2)

第6章Android音乐播放器系统测试

每一个完善的系统都需要进行完整的测试,包括功能测试开始懂了 歌词,兼容性测试适合婴儿听的音乐,下面将对

这些测试进行详细说明。

6.1功能测试

功能测试(英文:functionaltest)就是验证产品的各功能,根据功能测试用例,逐

一测试你的手机铃声是什么,以检查产品功能是否达到用户的要求luyi。

6吉克隽逸 王隽逸.1today歌词.1测试环境

测试手机:SonyL9h

系统版本:MIUI76.5.6|开发版

42/5

.栀子花白兰花.luxfero..

Android版本:Android4.4爱我还是他歌词.4

分辨率:1920*1080

存:2GB

网络环境:WIFI

6付送折磨.1.2测试用例

表6-1功能测试用例表

用例名称

安装

启动

播放本地歌曲

播放网络歌曲

分享歌曲

前提条件

应用已安装

应用已启动

应用已启动

应用已启动

输入/动作

点击应用安装包我从新疆来,并

点击确认安装

点击应用图标

点击本地音乐列表中

的任一首歌曲

点击在线音乐列表中

的任一首歌曲

点击更多按钮,然后

点击分享

设为铃声

删除歌曲

应用已启动

应用已启动

点击更多按钮,然后

点击设为铃声

点击更多按钮梦回秦关,然后

点击删除

删除歌曲应用已启动点击更多按钮,然后

点击删除

下载网络歌曲应用已启动点击更多按钮几多愁,然后

点击下载

播放/暂停应用已启动分别点击播放条和正

在播放界面的播放/

暂停按钮

上一曲/下一

应用已处于正在

播放界面

播放界面

点击上一曲/下一曲

按钮

点击播放模式按钮

播放器正常执行上一

曲/下一曲动作

播放器正常切换为全

部循环/随机播放/单

曲循环模式

与预期结果相

与预期结果相

播放器弹出确认对话

框,点击确认六字真言是什么意思,歌曲被

删除

播放器弹出确认对话

框this christmas,点击确认,歌曲被

删除

播放器下载该歌曲和你在一起歌词,下

载完成后自动添加至

我的音乐列表

播放器正常执行播放/

暂停动作

与预期结果相

与预期结果相

与预期结果相

预期结果

应用正常安装,系统提

示安装完成

应用正常启动

播放器正常播放该歌

播放器显示正在加载,

稍后正常播放该歌曲

播放器弹出选择分享

类型窗口,选择一种类

型后,可以正常分享

可以设为铃声与预期结果相

与预期结果相

实际结果

与预期结果相

与预期结果相

与预期结果相

与预期结果相

与预期结果相

切换播放模式应用已处于正在

4/5

..不要来我..

专辑封面应用已处于正在

播放界面

无播放器正常显示专辑

封面不见长安,并在播放时旋

转,暂停时停止旋转

与预期结果相

与预期结果相

与预期结果相

与预期结果相

与预期结果相

与预期结果相

歌词

在线搜索

应用已处于正在

播放界面

应用已处于搜索

界面

输入“薛之谦”琴包,点

击搜索

点击侧边栏夜间模式

item

点击侧边栏定时停止

播放item正义的伙伴主题曲,并选择10

分钟

播放器正常显示歌词,

并自动滚动

播放器搜索并展示和

“薛之谦”有关的歌

播放器侧边栏正常显

示市天气

播放器正常切换夜间

模式

10分钟后播放器正常

停止播放并退出

实时天气

夜间模式

定时停止播放

应用已启动

应用已启动

应用已启动

6.1.测试结论

经过对该系统的功能测试,可以得出结论,该系统的功能基本可以达到用户预期。

6天龙八部乔峰.2兼容性测试

兼容性指与软件可从某一环境转移到另一环境的能力有关的一组属性红草莓乐队。软件的兼容

性是衡量软件好坏的一个重要指标来吧来吧。下面将对该系统进行兼容性测试。

由于设备有限石石,为了使兼容性测试覆盖更多的机型高品质mp下载,因此选择云测试,下面是测试

报告

44/5

一个人的精彩歌词....

图6-1兼容概况

图6-2性能概况

根据兼容性测试报告可知,该系统兼容性达到99%四角游戏,高于业平均水平,因此可以达

45/5

追风少年的天空-抱刘继芬

Android在线音乐播放器设计与实现

留言与评论(共有 16 条评论)
本站网友 彩虹岛吉他手加点
2分钟前 发表
//riddles.///播放模式//当前播放的歌曲id4submarine.2远程存储该系统需要查看在线歌曲排行榜
本站网友 adtran
29分钟前 发表
点击作者信息如微博可以直接启动浏览器跳转到微博界面
本站网友 就去色吧
17分钟前 发表
作者信息等(6)启动界面参与者:使用者目标:使播放器定期更新启动界面图前置条件:应用已启动
本站网友 临沧美食
12分钟前 发表
关于界面还包含应用检查更新一万零一夜
本站网友 羊角风的治疗方法
26分钟前 发表
歌曲名等在那草地上
本站网友 寂寞的星期五
12分钟前 发表
Reactative着力于提高多平台开发的开发效率——仅需学习一次
本站网友 空调室内机漏水是什么原因
1分钟前 发表
进入搜索界面
本站网友 威力洗衣机
0秒前 发表
thepreviousWalkman
本站网友 滴哩滴哩
25分钟前 发表
就可以非常容易的完成Java对象到JSO的相互转换
本站网友 产后健康减肥方法
30分钟前 发表
相比热更新茅山后裔有声小说下载
本站网友 胃疼吃什么
1分钟前 发表
大大降低了听歌体验给爱
本站网友 白底
21分钟前 发表
定时关闭等功能
本站网友 第三石股票分析中心
2分钟前 发表
下载等伴奏曲库
本站网友 飞利浦是哪国的
14分钟前 发表
高于业平均水平
本站网友 陈翰文
28分钟前 发表
c)ReactativeReactative使你能够在Javascript和React的基础上获得完全一致的开发体验