[毕业论文]Android在线音乐播放器设计与实现 下载本文

西南科技大学本科生毕业论文

(1) 天气

参与者:使用者

目标:使播放器可以自动定位并显示当前城市的实时天气信息 前置条件:应用已启动,系统已连接至互联网 基本事件流:a.使用者启动应用

b.播放器将自动定位并显示当前城市的实时天气信息,包括天气、城市、风力、湿度等信息 (2) 功能设置 参与者:使用者

目标:使使用者可以自定义播放器的偏好设置 前置条件:应用已启动,打开设置界面 基本事件流:a.使用者点击设置项

b.播放器自动保存所选设置项,包括是否允许移动网络播放在线歌曲、音效调节等 (3) 夜间模式 参与者:使用者

目标:使使用者可以切换夜间/日间模式 前置条件:应用已启动

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

b.播放器自动切换到夜间/日间模式,不影响当前播放的歌曲 (4) 定时停止播放 参与者:使用者

目标:使使用者可以定时停止播放歌曲并退出应用 前置条件:应用已启动

基本事件流:a.使用者点击定时停止播放 b.播放器弹出对话框让使用者设定时间

c.到达使用者设置的事件后自动停止播放并退出应用 (5) 关于说明 参与者:使用者

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

13

西南科技大学本科生毕业论文

前置条件:应用已启动 基本事件流:a.使用者点击关于

b.播放器跳转到关于界面,包含应用版本、检查更新、推荐给朋友、作者信息等 (6) 启动界面 参与者:使用者

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

前置条件:应用已启动,系统已连接至互联网 基本事件流:a.使用者启动应用

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

2.2 非功能性需求分析

2.2.1 软件性能指标 内存占用:30~40MB CPU占用:5~10% 启动时间:1~2s

流量消耗:每次运行消耗1000KB以内(下载流量除外) FPS:25~30 2.2.2 软件兼容性

系统:Android 4.0或更高 RAM:128MB或更高 ROM:256MB或更高 CPU架构:ARM、x86、MIPS

14

西南科技大学本科生毕业论文

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

3.1 主要设计内容

系统设计了一个Android平台的在线音乐播放器,基于Native方式进行开发。采用MVC框架,将项目的视图层、数据层和逻辑层分离组织,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC模式图如下:

图3-1 MVC模式

系统基于Android开源平台,使用Java语言编写,视图层使用xml实现。使用Service后台播放音乐,通过Binder绑定Service并设置回调的方式实现前台界面(Activity)到后台服务(Service)之间的交互。系统和服务器采用json数据,通过OkHttp+Gson进行数据的传输和解析。

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

3.2 设计思想

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

15

西南科技大学本科生毕业论文

图3-2 设计思想

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

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

3.3 系统框架

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

16