java - 从Service类中的SQLliteDatabaseHelper获取数据

标签 java android sqlite cursor

我有一个具有服务类的应用程序,该应用程序在后台和其他 Activity 中运行。在 Activity 中,当我从数据库获取数据时,我会执行以下操作:

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});
}

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

最佳答案

看来,问题可能是由于不同线程对数据库的并发访问造成的。实例化此 SQLiteOpenHelper(构造函数参数)时尝试使用 Application Context,这样就不会泄漏其他上下文。

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

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

关于java - 从Service类中的SQLliteDatabaseHelper获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33759330/

相关文章:

javascript - 如何使用 javascript 或 java 获取当前 url 用户位于 .jsp 文件中

java - 我们可以使用 EWS Java API ver 2.0 jar 连接到 Exchange 2016 吗?

java - Android Wear 检测到 "Mute"

java - 改造错误体奇怪的行为

iphone - 核心数据 : Is it possible to use custom function in group by

ios - 原生app与html5共享sqlite数据库

java - 无法将数据绑定(bind)到recyclerView中

java - android R.java : cannot resolve symbol in class id

android - Recycler View notifyDataSetInvalidated() 等效

java - android从数据库类内部传递变量