java - 控制 CastButton 的多个 View /Activity

标签 java android oop design-patterns chromecast

如果我们查看一堆 Chromecast 应用,我们会发现转换按钮在不同的 View /Activity 中持续存在。也就是说,当我们在主 Activity 中连接到 chromecast,然后进入视频播放器 Activity 时,转换按钮仍然可用。

从编程角度来说,实现这种期望行为的最佳设计是什么?我能想到的就是首先开始检测主 Activity 中可用的现有 chromecast 设备,并继续将此转换按钮作为参数传递给我们需要在其中显示转换按钮的其他类。这行得通吗?或者我们在不同的类中本质上会有很多重复的代码吗?你们是如何设计具有这种所需行为的 Actor 应用程序的?

最佳答案

您不会在 Activity 之间传递强制转换按钮等。您的应用程序基本上只是一个具有多个 fragment 的 Activity ,在这种情况下您没有任何问题,或者如果它有多个 Activity ,则每个 Activity 都会添加强制转换按钮到其操作栏;首选版本是使用 ActionProvider 版本,但这不是必需的。更重要的是,如果您有多个 Activity,您希望将与 Cast 相关的状态保留在每个单独的 Activity 之外;因此,使用单例来维护状态是一个很好的方法。

我还建议您查看CastCompanionLibrary (CCL) 并尝试使用该库来构建您的强制转换应用程序(或向现有应用程序添加强制转换功能),因为该库会为您处理许多重要的强制转换相关任务。

关于java - 控制 CastButton 的多个 View /Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33557991/

相关文章:

php - 为什么变量应该有 public 或 private 或 protect 但函数不应该在类中

php - 为什么很多流行的wordpress插件都是单例的

java - 多线程:分配和阻塞资源的问题

java - 如何将 Netbeans 项目(使用 Java DB)从 Windows 迁移到 Linux?

android - 如何在Dart中组合循环结果

java - 如何使 NavigationDrawer 项目仅在 Activity 类中可点击,并且它应该导航到另一个 Activity

Javascript:从动态创建的实例调用嵌套函数

java - 如果没有可用的互联网连接,则重新安排 AsyncTask 以 4 分钟为间隔在接下来的 20 分钟内运行

java - 如何仅获取 Google Drive 中的 "Shared with me"文件

android - Firebase 和 Crashlytics - 使用哪一个?