gpt4 book ai didi

安卓和 Eclipse。我必须在我的应用程序中包含服务代码吗?多个应用程序使用相同的服务

转载 作者:太空狗 更新时间:2023-10-29 14:28:59 26 4
gpt4 key购买 nike

我是 Android 编程的新手,已经问过一些关于服务的基本问题 (http://stackoverflow.com/questions/8659622/separation-of-logic-and-gui-in-android-app- service-has-knowledge-of-app-and-sho)

这似乎是一个独立的问题,所以我将其拆分。

我继承了一些用 Eclipse 编写的代码,包括服务和应用程序。我将服务代码放入库中。在应用程序设置中,在 Android 下,我在库部分下添加了服务库,以便我可以引用代码。我不确定这是正确的方法。我也在我构建的新应用程序中这样做了。但是,我认为当我尝试运行这两个应用程序(应该使用相同的服务)时遇到了问题,我并不感到太惊讶。我下载并调试了第一个应用程序,它工作正常。该服务通过蓝牙连接到外部设备。当我下载并调试第二个应用程序时,我注意到第一个应用程序失去了连接。我猜下载第二个应用程序的行为也是在下载该服务的新副本。我的具体问题是:

  1. 两个应用能否共享同一个服务实例?
  2. 我应该将服务放入库中并在两个应用程序中引用该服务,还是有其他(更好的)方法?如果我没有源代码,我将如何引用第三方服务?

  3. 我查看的示例似乎都在同一个项目中提供服务和 Activity 。谁能给我指出一个更大的例子,比如有两个应用程序使用它的服务?

谢谢,戴夫

最佳答案

有两种类型的服务:绑定(bind)服务和启动服务。当您需要在后台完成某些任务时使用已启动的服务(例如,如果您需要下载一个文件,您只需启动一个服务并下载该文件。之后该服务将自行停止或用户可以取消它发送停止服务命令)。绑定(bind)服务用于长时间运行的任务。它可以被认为是一种提供某些功能并几乎一直运行的互联网服务。例如,您可以创建一项服务,为您提供相加两个数字的功能。

现在答案:

  1. 是的,他们可以。基本上应该只有一个实例系统中的服务。但是这个服务可以有多个线程。
  2. 您可以将您的服务作为单独的应用程序来实现。但通常有一个所有者应用程序和使用该服务的应用程序。
  3. 您应该看看 Bound 服务。

关于安卓和 Eclipse。我必须在我的应用程序中包含服务代码吗?多个应用程序使用相同的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8716487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com