Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android DatabaseHandler.close()-即使选中,也会出现空指针异常_Android_Sqlite_Nullpointerexception - Fatal编程技术网

Android DatabaseHandler.close()-即使选中,也会出现空指针异常

Android DatabaseHandler.close()-即使选中,也会出现空指针异常,android,sqlite,nullpointerexception,Android,Sqlite,Nullpointerexception,我的代码如下所示: if (dbHandler != null) dbHandler.close(); 怎么可能在这一行上获得nullPointerException?看起来我在SQLite的系统函数中得到了一个NPE 当然,还有更多类似的功能,但我认为基本结构已经演示。奇怪的是,这发生在一个用户身上(至少我们不知道其他用户)。该设备应为三星SII和安卓4.0.4 编辑 通过重写databaseHandler解决了这个问题,可能还有更多的实例危险。您的dbHandler对象有可能引用

我的代码如下所示:

    if (dbHandler != null) dbHandler.close(); 
怎么可能在这一行上获得nullPointerException?看起来我在SQLite的系统函数中得到了一个NPE

当然,还有更多类似的功能,但我认为基本结构已经演示。奇怪的是,这发生在一个用户身上(至少我们不知道其他用户)。该设备应为三星SII和安卓4.0.4

编辑
通过重写databaseHandler解决了这个问题,可能还有更多的实例危险。

您的
dbHandler
对象有可能引用了一个空的SQLiteDatabase。

我想知道完全相同的事情(请参阅上面包含的代码)。发生这种情况毫无意义。

什么是
dbHandler
?这是你的班级吗?@Sam,我没看到你的评论。我刚删除了我的。你有多个线程访问数据库吗?我只在应用程序类中打开数据库一次,从不关闭它。DatabaseHandler扩展了SQLiteOpenHelper。dbHandler是DatabaseHandler的对象。是的,它只在一个实例和一个线程中使用。永远不要关闭数据库是个好主意吗?是否有可能导致任何问题,因此我可以删除数据库关闭?请粘贴完整的
DatabaseHandler
(如果可能,请在eclipse中使用ctrl+shift+f以确保格式正确…),您是否可以说如果
getAllContent()
DatabaseHandler
类的一部分?这是可能的。但是不关闭空数据库的()控件吗<代码>公共同步的void close(){if(错误初始化)抛出新的IllegalStateException(“初始化期间关闭”);if(mDatabase!=null&&mDatabase.isOpen()){mDatabase.close();mDatabase=null;}}您能为DatabaseHandler类添加代码吗?我已经更新了问题。请发布完整的堆栈跟踪,并在DatabaseHandler类中添加详细信息。忽略细节并没有帮助。我留下细节是因为整个DatabaseHandler大约有5000行长。我将添加更多关于这个特殊方法的信息,并添加更多stacktrace。