当前位置:   article > 正文

Android课程设计大作业-音乐播放器_安卓开发设计 服务 service 实现音乐后台(背景)播放功能。

安卓开发设计 服务 service 实现音乐后台(背景)播放功能。

一、主要实现界面效果

1)登录界面

在这里插入图片描述

2)音乐列表界面

在这里插入图片描述在这里插入图片描述

3)音乐播放界面

在这里插入图片描述

二、系统设计

1)使用Service播放音乐

Android SDK提供了Service。Service有两种类型:
本地服务(Local Service):用于应用程序内部
远程服务(Remote Sercie):用于Android系统内部的应用程序之间前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好
后者可被其他应用程序复用,比如天气预报服务,其他应用程序不需要再写这样的服务,调用已有的即可。这里不需要其他程序共享Service,因此采用本地服务。

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

Android中的四大组件是相互独立的,因此必须设计一个框架来实现前台界面(Activity)和后台服务(Service)的相互。Activity 和 Service的通信有以下几种方式:

a)回调接口的方式。

当Activity通过调用bindService(Intentservice,
ServiceConnection conn,int flags),可以得到一个Service的一个对象实例,然后就可以访问Service 中的方法,完成Activity–>Service的通信;通过为Service添加监听器的方法,Service作为被观察者,Activity作为观察者当有新事件时,Service通知Activity,完成Service–→Activity的通信。这种方式适合Activity与 Service交互比较频繁的情况。

b)通过广播接收者。

在Service中执行完耗时操作后,将结果以广播的形式发送,在 Activity中注册广播,接收到结果后更新U。因为耗时的操作结果不需要以Handler的方式发送到主线程,可以直接在子线程中发送广播,接收者始终运行在主线程中。完成Service-→>Activity的通信。同样,Activity将事件以广播的方式发送给Service,完成Activity–Service的通信。这种方式适合Activity与 Service交互不太频繁的情况。

c)通过startService方式。

Activity通过startService将事件发送到Service的
onStartCommand()方法,然后Service执行相应的操作,完成
Activity–Service的通信;Service通过广播将事件发送到
Activity,Activity中需注册广播接收器,完成Service-→Activity 的通信。这种方式适合Activity与 Service交互不太频繁的情况。

3)音乐Activity与后台服务(Service)通信

当Activity通过调用bindService(Intent service, ServiceConnection conn,int flags),我们可以得到一个Service的一个对象实例
详细代码实现:

1、Activity绑定Service,获得Service的实例,并绑定监听器

在这里插入图片描述
在这里插入图片描述

2、Activity使用Service实例,实现音乐播放、暂停等功能

在这里插入图片描述
在这里插入图片描述

三、设计报告目录展示

在这里插入图片描述

四、源码

Android课程设计大作业-音乐播放器源码+课程设计报告

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/334595
推荐阅读
相关标签
  

闽ICP备14008679号