我有一个带有服务的应用程序类,在后台和其他活动中运行。在活动中,当我从数据库中获取数据时,我会这样做:
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});
}
它工作得很好,但它不能在Service.How中工作我在服务中得到了同样的东西?我不使用游标??请帮帮我(对不起我的英语)。
发布于 2015-11-17 14:53:32
问题似乎是由于不同线程对数据库的并发访问造成的。在实例化此SQLiteOpenHelper (构造函数参数)时尝试使用Application Context
,这样就不会泄漏其他上下文。
如果没有帮助,请显示您的SQLiteOpenHelper
代码。
编辑:用NullPointerException单击字符串,然后给我们一个字符串,它就是从这个字符串抛出的。
https://stackoverflow.com/questions/33759330
复制相似问题