【问题标题】:1 parent service and 2 children services1 项家长服务和 2 项儿童服务
【发布时间】:2013-07-26 18:34:18
【问题描述】:

这是一个架构问题。

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

我们称它为 Streaming 以及儿童 radiopodcast

广播和播客都使用媒体播放器 api,但差别不大(raio 是直播 aac,播客是来自 http url 的 mp3)

广播和播客在同一个活动中,但在不同的片段中

服务为片段提供回调接口以更新用户界面


流媒体必须:

  • 从应用程序开始运行
  • 只要主要活动正在运行就运行
  • 在应用程序完成()之前不会停止
  • “管理”其他服务

广播和播客

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

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

等待其他想法?

【问题讨论】:

    标签: java android android-service android-mediaplayer abstract


    【解决方案1】:

    如果parentchildren 控制,则子服务的触发器或按钮应该是delegated 给父服务。事实上,在你的情况下,父母似乎应该是孩子和外界之间的only interface。父级可以根据外部触发器和业务逻辑决定何时暂停/停止哪个子级。

    【讨论】:

    • 我想保持一般性,但看我的编辑似乎会很复杂
    • 如果父级在逻辑上不够强大,无法直接管理子级,则有一个控制器,基本上协调父子级。
    • 父母的想法是减轻工作并协调孩子
    • 当然,您的控制器可以根据工作量和其他情况将任务从孩子分配给父母。将父级视为 CPU,将子级视为进程,您需要的是调度程序(控制器)。我希望我说得通。
    • 在 ui 和主服务之间有一个“经理”给我带来了什么?我的意思是:服务是全局保存的,所以我可以静态获取它,在片段 onClick() 方法中,我可以轻松访问 play() stop() 方法,然后服务将操作重定向到良好的服务?
    猜你喜欢
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多