【问题标题】:Is it possible to access the database from a service?是否可以从服务访问数据库?
【发布时间】:2012-02-15 07:12:14
【问题描述】:

我想从后台运行的服务访问数据库。这可能吗?

【问题讨论】:

标签: android database sqlite background-service


【解决方案1】:

是的,可以通过服务访问您的数据库。要访问数据库,您只需要Context,它也可以在服务中使用。

【讨论】:

  • 如何在服务中获取上下文?
  • @channae Service 扩展自 Context,因此将 thisYourService.this 传递到任何需要它的地方都可以正常工作。
【解决方案2】:

是的,可以从服务访问数据库。您所要做的就是创建一个扩展 SqliteOpenHelper 的数据库类的对象,将 ServiceName.this 作为上下文传递,或者使用您的应用程序类作为上下文。

DbHelper db = new DbHelper(ServiceClass.this);
db.performOperations();
db.close();

DbHelper db = new DbHelper(YourApplicationClass.getAppContext());
db.performOperations();
db.close();

【讨论】:

    【解决方案3】:

    是的,这是可能的,而且无论何时需要上下文使用服务。

    【讨论】:

      【解决方案4】:

      是的,这是我们在应用程序中使用的正常功能。 @Ajay 是对的。

      USE EXAMPLE

      您可以在几秒钟后执行的线程中调用从服务类访问数据库的方法。

      【讨论】:

        猜你喜欢
        • 2012-10-22
        • 2010-11-14
        • 1970-01-01
        • 2012-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多