没有合适的资源?快使用搜索试试~ 我知道了~
背景音乐service的实现_20142100012王子彦1
需积分: 0 0 下载量 170 浏览量
2022-08-03
18:53:55
上传
评论
收藏 643KB PDF 举报
温馨提示
试读
12页
3.1背景音乐播放服务为了更好的实现 UI 线程与 background service 之间的通信,本次设计中使用了 bindService()和 unbin
资源详情
资源评论
资源推荐
移动应用开发课程作业
背景音乐 service 的实现
指导老师:曹阳
2017 年 12 月 18 日
华南师范大学计算机学院
计算机科学与技术(软件技术应用方向)
2015 级 5 班
王子彦
20142100012
ziyan.wang@m.scnu.edu.cn
声明:除特殊注明外,本次作业中所有的文档、源代码和相关资源均为本人原创。
该项目的源代码已在 Github 上以 Apache-2.0 协议发布:
https://github.com/lonelyenvoy/MyDiaryBook
王子彦授予曹阳老师对本项目所有文件的查阅、拷贝、修改和使用的权利。
软件名称
MyDiaryBook
完成人
王子彦
学号
20142100012
完成时间
2017 年 12 月 18 日
一、 软件内容简介
本次作业在上次日记本 app 的基础上通过 bindService 和 AsyncTask
多线程技术实现了播放背景音乐功能,通过权限申请和 SD 卡状态检
查确保 app 的正常运行,并通过 ContentResolver 获取系统中所有的
音乐。
您可在此处查阅本项目的所有源码。
二、界面设计
由于本次 app 的重点在于后台 service 的业务逻辑,因此界面较简单,只有一个控制菜单。
用户在点击播放音乐按钮后,将会自动扫描并播放设备上的音乐。
图 2-1 用户界面展示图
三、代码设计
由于代码量较大,下面选择几项重要的部分展示。如有兴趣,请在 Android Studio 中 clone
开发者的 Github 代码仓库,打开项目文件进行详细查阅。
3.1 背景音乐播放服务
为了更好的实现 UI 线程与 background service 之间的通信,本次设计中使用了 bindService()
和 unbindService()来启动和停止服务,图 3-2 和 3-3 是背景音乐播放服务的主要代码实现。
在此处并没有用到多线程(下文扫描音乐用到了),service 和 activity 实际上在同一个线程
中执行。之所以这样设计,是因为 app 的业务逻辑更适合用 Service 而不是 Thread。具体请
参见 Stack Overflow 上对服务和线程的解析:Service vs Thread in Android
图 3-1 关于 Thread 和 Service 适用场景的解析
剩余11页未读,继续阅读
陈后主
- 粉丝: 31
- 资源: 340
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0