【问题标题】:Get data from SQLliteDatabaseHelper in Service class从 Service 类中的 SQLliteDatabaseHelper 获取数据
【发布时间】:2015-11-17 14:23:57
【问题描述】:

我有一个在后台和其他活动中运行的带有服务类的应用程序。在我从数据库中获取数据的活动中,我会这样做:

databaseHelper = new DBNotifyHelper(this);
Cursor c = databaseHelper.getNotify(myState, myVariable, myVariable2);

我的 DBNotifyHelper 中的 getNotify 方法在哪里:

public Cursor getNotify (String myState, String myVariable, String myVariable2)
{
    return getReadableDatabase().rawQuery("SELECT * FROM Notify WHERE State = ? AND myVariable= ? AND myVariable2= ?", new String[] {myState, myVariable, myVariable2});
}

它工作正常,但它在服务中不起作用。我如何在服务中得到同样的东西?我不使用光标??请帮助我(对不起我的英语)。

【问题讨论】:

  • 你能确认这段代码已经运行了吗?
  • 当您说它“在服务中不起作用”时,会发生什么?有没有崩溃? logcat有资料吗?

标签: java android sqlite cursor


【解决方案1】:

似乎,问题可能是因为从不同线程并发访问数据库。在实例化此 SQLiteOpenHelper(构造函数参数)时尝试使用Application Context,这样就不会泄漏其他一些上下文。

如果没有帮助,请出示您的 SQLiteOpenHelper 代码。

编辑:单击带有 NullPointerException 的字符串并给我们一个字符串,从该字符串中抛出它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    相关资源
    最近更新 更多