【问题标题】:Service or IntentService for database queries?用于数据库查询的服务或 IntentService?
【发布时间】:2013-08-22 15:33:28
【问题描述】:

我正在尝试了解 Android 中服务在数据库查询中的最佳用途(新手)。该服务应启用与数据库的连接(通过互联网),该数据库用于从活动中查询数据库。

我的理解是,这可以使用绑定服务来实现,即可以将多个客户端绑定到服务,每个客户端都可以访问服务的方法。但是,我不确定是否针对这种情况扩展 Service 类或其子类 IntentService

理想情况下,服务应该在服务启动时连接到数据库一次,例如在其onCreate 方法中,并在服务的onDestroy 方法中断开连接。然后,该服务将具有使用此连接查询数据库的各种方法。

那么,扩展Service 类并在onCreate 中为数据库连接启动一个新线程,以及扩展IntentService 类并在onCreate 中启动连接之间有区别吗(即IntentService启动自己的工作线程)?

当您绑定到 IntentService 时,它是否会一直保持活动状态,直到所有活动都与它解除绑定?

这是最好的方法吗?

谢谢

【问题讨论】:

    标签: android service intentservice


    【解决方案1】:

    最自然和推荐的方法是创建一个Content Provider。 Content Provider 已经实现了合理的生命周期,并解决了您在尝试从头开始实现此类服务时肯定会遇到的许多其他问题。

    【讨论】:

    • 谢谢 msh。您可以使用内容提供程序访问服务器上的数据,即不在设备上吗?服务器还有一些我希望应用程序执行以返回结果的 php 脚本。所以我不确定内容提供商是否提供了解决方案,但我之前没有使用过。
    • 当然,为什么不呢?您可以使用内容提供程序访问任何可以表示为光标或文件的数据。
    • 好的,听起来很有趣。将不得不进一步调查。
    猜你喜欢
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 2017-11-18
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多