西南科技大学本科生毕业论文
(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