java - 1 项家长服务和 2 项 child 服务

标签 java android android-service android-mediaplayer abstract

这是一个架构问题。

我想要一个运行和管理 2 个子服务的全局服务。

我们将其称为流媒体,以及子广播播客

广播和播客都使用 mediaplayer api,但差别不大(raio 是实时流媒体 aac,播客是来自 http url 的 mp3)

广播和播客处于相同的 Activity 中,但处于不同的 fragment 中

服务为 fragment 提供回调接口(interface)来更新用户界面

<小时/>

流媒体必须:

  • 从应用程序启动运行
  • 只要主 Activity 正在运行就运行
  • 直到应用完成()才停止
  • “管理”其他服务
<小时/>

广播和播客

  • 从我点击一个按钮到我点击另一个按钮或在某个时间点(预定)运行
  • 在用户决定或某个时间点(预先确定)之前不会被杀死
  • 广播播放时,播客会暂停或停止(反之亦然)
  • 广播和播客必须扩展服务并实现相同的回调方法
<小时/>

我已经找到了解决方案,但我不满意

等待其他一些想法吗?

最佳答案

如果父级控制两个子级,则子服务的触发器或按钮应委托(delegate)给父级。事实上,在您的情况下,父级似乎应该是子级与外部世界之间的唯一接口(interface)。父级可以根据外部触发器和业务逻辑决定何时暂停/停止哪个子级。

关于java - 1 项家长服务和 2 项 child 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17882206/

相关文章:

android - 如何在 Android 上创建用于访问 OData 服务的代理

android - 如何在 ListView 中单击特定项目时从数据库中获取特定列表

android - 在 Android 中实现与多个设备的蓝牙连接的最佳方法是什么?

android - 通过取消绑定(bind)所有有界 Activity 来停止服务

java - Android - WebSocket - 从最近使用的应用程序中清除应用程序时,连接从服务中断开

java - 媒体编解码器工作不顺利

java - 为什么我的图像不显示在 jsp 中? [使困惑]

java - 为什么 Android Studio 不断要求 "Expression Expected"?

java - Apache 负载均衡器数据在多个应用程序之间同步

java - J2EE认证后如何重定向Web表单认证