将服务绑定到活动或片段?

2024-03-24

我正在开发一个音乐播放器应用程序。我有一个主要活动,其中有多个片段,每个片段都在设备上显示歌曲专辑、艺术家等。
我有一个音乐服务来处理所有的播放和其他事情。
我感到困惑的是该服务与我拥有的各种片段的绑定。
现在,我正在将主要活动和每个片段分别与服务绑定,并且它的工作非常正常。但我想知道这是否真的是最佳实践?有没有什么方法可以将主要活动与服务绑定,然后如何在其子片段中使用它?
我可能缺少一些非常基本的活动、片段或服务概念。所以请有人在这方面指导我。
我想这更多的是一个概念性问题,所以不需要任何代码。但如果需要的话请告诉我。

EDIT :
我的问题是:将服务与具有多个子片段(每个子片段都将使用该服务)的活动绑定的更好方法是什么?


绑定Service到你的活动,而不是Fragment。您的应用程序的描述,一个活动有多个Fragment交换进出,使得这是最(也是唯一)实用的方法。

当你绑定一个Service to an Activity你将它的生命周期与Activity. See 绑定服务 http://developer.android.com/guide/components/bound-services.html。每次添加或删除Fragment在你的活动中Fragment被创建和销毁。您不想尝试将服务链接到此进程,因为这样每次创建或销毁新片段时都必须创建和销毁该服务。

而是绑定到主机Activity。然后,您可以通过接口与片段中的主机活动进行交互以访问绑定服务或通过Intent.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将服务绑定到活动或片段? 的相关文章

  • 如何从 Java 中的 String 获取类引用?

    如果我需要返回一个基于字符串实例化的类 例如 从 JSON 创建逻辑 应该如何编写 我最初的想法是一个 switch 但在 Android 框架的 Java 版本中 看起来 switch 语句不允许使用字符串 接下来的想法是 HashMap
  • 在 Android 中通过蓝牙接收音频

    我想创建一个能够接收音频流的 Android 应用程序 我想过使用 A2DP 配置文件 但似乎 Android 不支持 A2DP 接收器 看起来有很多人正在寻找这个问题的解决方案 但是接收普通的比特流 然后在应用程序中将数据转换为音频呢 我
  • 411 需要内容长度

    我正在尝试使用 Android Apache HttpClient 执行 POST 但它返回错误 411 Content Length required 这是代码 HttpClient httpClient new DefaultHttpC
  • Android 4.3 虚拟设备 CPU/ABI - 未安装系统映像(eclipse)

    I m trying to set up a new device but I can not continue with the process I think it s because the target version is 4 3
  • 如何在Android Studio中安装android 6.0.1模拟器?

    我在我的 Android 模拟器上遇到这个问题E Surface getSlotFromBufferLocked 未知缓冲区 0xab7519c0 https stackoverflow com questions 33046375 e s
  • Android 3.1 USB 主机 - BroadcastReceiver 未收到 USB_DEVICE_ATTACHED

    我经历过USB 主机的描述和示例位于developer android com http developer android com guide topics usb host html检测连接和分离的 USB 设备 如果我在清单文件中使用
  • 这个错误从何而来?错误:com.facebook.FacebookException:无法获取应用程序名称

    我无法弄清楚这一点 我已将我的密钥哈希和所有内容添加到 Facebook 网页 但我无法找出此错误 11 12 19 51 27 744 D HelloFacebook 5188 Error com facebook FacebookExc
  • Android:Google Maps API 密钥注册:MD5 认证密钥

    如何获取MD5指纹密钥 我正在使用这个命令 C Program Files Java jdk1 7 0 04 bin gt keytool exe list alias androiddebugkey keystore C Document
  • 如何避免内存不足异常

    在我的应用程序中 我使用图像的 url 从网络下载图像 我有很多图像 因此我为此实现了分页技术 并按垂直顺序为每页显示 15 个图像 在这种情况下 我向上 向下滚动页面以查看图像 此时我的应用程序崩溃了 并且出现了内存不足异常 请任何人帮助
  • 为什么大多数 Android 设备不像典型操作系统那样有交换区域?

    现在有 Android 支持交换区域来提高性能吗 出于哪些考虑 大多数 Android 设备放弃了该功能 现在有 Android 支持交换区域吗 Quoting 黛安 哈克伯恩 https groups google com d msg a
  • 迭代 Sqlite-query 中的行

    我有一个表布局 我想用数据库查询的结果填充它 我使用全选 查询返回四行数据 我使用此代码来填充表行内的 TextView Cursor c null c dh getAlternative2 startManagingCursor c th
  • 改造添加带有令牌和 ID 的标头

    我在获取经过身份验证的用户时遇到问题 在此之前我得到了令牌和用户 ID 现在我需要使用访问令牌和 ID 从服务器获取用户 我有标题格式 https i stack imgur com OQ87Y png 现在我尝试使用拦截器添加带有用户令牌
  • 带有可点击区域的 Android 图像

    我需要建议如何在 Android 下实现以下功能 我需要一个表示类似于图形 来自离散数学 的图像 具有顶点和边缘 我可以在其中单击每个顶点或边缘并触发不同的操作 请告诉我如何实现这一目标 也许与imagebuttons 或另一种表示此功能的
  • Android 改造参数化@Headers

    我正在使用 OAuth 每次发出请求时都需要将 OAuth 令牌放入标头中 我看到 Header注释 但是有没有办法让它参数化 以便我可以在运行时传入 这是概念 Header Authorization OAuth var api vers
  • Android:如何停止监听电话监听器? [复制]

    这个问题在这里已经有答案了 可能的重复 Android 为什么 PhoneCallListener 在活动完成后仍然存在 https stackoverflow com questions 11666853 android why phon
  • 如何在 Google 地图中创建自定义地图?

    我正在尝试创建一个包含我家地图的 Google 地图应用程序 卧室 浴室 厨房等 使用 GPS 我会找到我现在在家里的位置 并尝试获取到我卧室的方向 步行距离 您可以使用Google的API来获取方向 我需要知道的是 如何添加我家的自定义地
  • 在 WebView 中打开 PDF 文件

    大约 2 天 我尝试在我的自定义中打开 PDF 文件WebvView 这是我的WebView code import android app AlertDialog import android app ProgressDialog imp
  • Android 预安装检测

    我的 Android 应用程序将被预安装 我想继续跟踪预安装的应用程序 为此 我需要以某种方式保存密钥或标志 这意味着该应用程序是预安装的 我会将此密钥添加到后端的每个请求中并对其进行分析 我对此有疑问 有一个问题是关于从 Google P
  • AAR 可以包含传递依赖吗? [复制]

    这个问题在这里已经有答案了 现在我有一个库项目 比如项目 Foo 它依赖于像 OkHttp 这样的库 现在 Foo 有一个 Maven 构建步骤 可以生成 AAR 并将其推送到公共位置 现在假设我有项目 B 我们将其称为 Bar Bar是一
  • 如何在 Android 上设置 Google Drive API?

    我一直在尝试将 Google Drive 功能集成到我的应用程序中 但我无法使用任何内置功能 因此我相信我要么错过了一个步骤 要么做得不正确 我正在遵循官方的 Google 开发者指南 https developers google com

随机推荐

  • 并发字典 AddOrUpdate 与索引添加

    在当前项目中 我可以通过两种方式为并发字典中的现有键分配值 A concurrentDictionary1 key value and B concurrentDictionary2 AddOrUpdate key value k v gt
  • 如何在 Pygame 中获取显示器的分辨率?

    我只是想知道我是否可以在 Pygame 中获取显示器的分辨率 然后使用这些尺寸创建一个窗口 以便启动程序检测显示器分辨率 然后自动将窗口适合全屏屏幕 我目前正在使用pygame display set mode AN INTEGER AN
  • weblogic.jndi.WLInitialContextFactory 类在哪里?

    当尝试执行我的 jar 文件时 出现异常 javax naming NoInitialContextException Cannot instantiate class weblogic jndi WLInitialContextFacto
  • 有条件地将操作添加到 Java 8 流

    我想知道是否可以根据流外部设置的某种条件向流添加操作 例如 我想向流添加限制操作 如果我的limit变量不等于 1 我的代码目前看起来像这样 但我还没有看到以这种方式使用流的其他示例 其中 Stream 对象被重新分配给应用于自身的中间操作
  • Haskell 中关系数据的安全建模

    我发现在函数式程序中对关系数据建模是很常见的 例如 在开发网站时 我可能希望使用以下数据结构来存储有关我的用户的信息 data User User name String birthDate Date 接下来 我想存储有关用户在我的网站上发
  • Django 自定义表单 ImportError 即使文件位于同一目录中

    我正在努力通过有效的 Django http effectivedjango com 教程系列 我目前在尝试创建要在应用程序中使用的自定义表单时遇到问题 我按照中的说明创建了 forms py 文件本教程的这一部分 http effecti
  • 中心参数在新的谷歌地图嵌入中不起作用

    我已将新的嵌入代码用于新的谷歌地图 如下所示 https developers google com maps documentation embed guide https developers google com maps docum
  • C++:在这种情况下引用的优点是什么?

    我有两段代码 int f1 int b return b int f2 int b return b 这些功能有什么区别 我知道第二个返回一个引用 但由于我可以以相同的方式使用这两个函数 有什么区别 编辑 这个功能更好吗 int f2 in
  • RMySQL dbWriteTable 与 field.types

    我有一个数据框 称为df 看起来像这样 dte val 2012 01 01 23 2323 2012 01 02 34 343 列上的类型是日期和数字 我想使用已经打开的连接将其写入 MySQL 数据库 连接工作正常 因为我可以很好地查询
  • 解决PeriodFormat 中Joda Time 错误的方法?

    这是我的代码 揭示了 Joda Time 错误 import org joda time Period import org joda time format PeriodFormat import org joda time format
  • 如何创建学习清单项目

    我有一个水平的RecyclerView看起来像这样 显然 1 2 3 4 5 我想做这个 1 2 3 4 5
  • Hadoop 中分布式缓存的生命周期

    Hadoop流作业中使用分布式缓存机制将文件传输到节点时 作业完成后系统是否会删除这些文件 如果它们被删除 我认为是这样 有没有办法使缓存保留用于多个作业 这在 Amazon Elastic Mapreduce 上的工作方式是否相同 我正在
  • 时序问题 - DGV 在流程修改数据之前刷新

    我在表单上有一个按钮 用于启动一个进程 在 x 不同 秒后 更改数据库表 Y 中的一些数据 调用 InitializeGridView 然后刷新显示前面提到的表 Y 的 DGV 问题是InitializeGridView 在进程之前完成 因
  • 使用 Typescript 扩展 Express Request 对象

    我正在尝试添加一个属性来使用打字稿从中间件表达请求对象 但是我不知道如何向对象添加额外的属性 如果可能的话 我宁愿不使用括号表示法 我正在寻找一个解决方案 允许我编写类似的内容 如果可能的话 app use req res next gt
  • 使用 Sun 专有的 Java 类是一种不好的做法吗?

    如果您使用 Sun 专有的 Java 类 编译器会显示警告 我认为使用这些类通常是一个坏主意 我在某处读到过这个 然而 除了警告之外 还有什么根本原因不应该使用它们吗 因为它们是内部 API 它们可能会发生变化无证的 or 不支持的方式并且
  • 尝试使用 RSA 密钥通过 SSH 访问 EC2,获取:不正确的 RSA1 标识符...权限被拒绝(公钥)

    我在 Amazon EC2 上创建了一个 Ubuntu 12 04 实例 我已经下载了 PEM 文件并且能够通过 SSH 连接到实例 没有问题 现在 我想在远程实例上为顾问等创建一些帐户 他们应该能够使用 RSA 密钥通过 ssh 进入盒子
  • RecyclerView 中删除项目后重叠视图

    删除 RecyclerView 中的项目会导致视图重叠 如下视频所示Link https youtu be bQs9DOAL614 片段 feed xml
  • Kivy 更新动态标签文本

    我的目标是观察数字Popup 我有一个NumericProperty正在加载 然而 当回调被调用时 数字不会改变 我在回调中没有任何代码链接到 label text 类似的问题也被问过 但是 我一直无法看到它们如何应用于这个具体案例 类似案
  • 在Python中,为什么list(None)是错误而[None]不是?

    Passing None到Python的list构造函数是一个TypeError gt gt gt l list None Traceback most recent call last File
  • 将服务绑定到活动或片段?

    我正在开发一个音乐播放器应用程序 我有一个主要活动 其中有多个片段 每个片段都在设备上显示歌曲专辑 艺术家等 我有一个音乐服务来处理所有的播放和其他事情 我感到困惑的是该服务与我拥有的各种片段的绑定 现在 我正在将主要活动和每个片段分别与服