Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
Java 无法打开SQLITE数据库?_Java_Android_Android 5.0 Lollipop - Fatal编程技术网

Java 无法打开SQLITE数据库?

Java 无法打开SQLITE数据库?,java,android,android-5.0-lollipop,Java,Android,Android 5.0 Lollipop,我正在尝试为一家小型企业编写一个数据库来处理预订,它是使用棒棒糖的21API编写的,我在下面包含了DBAdapter和createreservation类。当我尝试点击Submit时,我得到了这个错误(StackOverflow不会让我发布整个错误,但这里有一些错误-->是由以下原因引起的:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.database.sqlite.SQLiteDatabase android.database.s

我正在尝试为一家小型企业编写一个数据库来处理预订,它是使用棒棒糖的21API编写的,我在下面包含了DBAdapter和createreservation类。当我尝试点击Submit时,我得到了这个错误(StackOverflow不会让我发布整个错误,但这里有一些错误-->
是由以下原因引起的:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.database.sqlite.SQLiteDatabase android.database.sqlite.SQLiteOpenHelper.getWritableDatabase()”
net.stein13.reserveit.DBAdapter.open(DBAdapter.java:53)
位于net.stein13.reserveit.NewReservation.submitReservation(NewReservation.java:29)
我正试图和我的美联社计算机科学老师一起解决这个问题,但她对安卓的了解不够,无法帮助我解决这个问题

新预订类别- DBAdapter类-


任何帮助都将不胜感激!!提前感谢!

发生此错误是因为您从未初始化
DBHelper
成员变量。但是,由于
DBAdapter
扩展了
SQLiteOpenHelper
,因此根本不需要
DBHelper
。这是因为每个
DBAdapter
都是
SQLiteOpenHelper
。这意味着您可以直接在任何
DBAdapter
上调用所有
SQLiteOpenHelper
方法。例如,您应该将
open()
方法更改为

db = getWritableDatabase();

您还应该完全删除您的
close()
SQLiteOpenHelper
已经有一个
close())
方法,该方法为您完成所有工作。

您确定粘贴箱与您正在编译和运行的代码相同吗?错误消息中的行号根本不匹配。是的,我确定,我直接从上次编译的代码中获取了该代码-错误来自于我在AVD上运行它并单击SubmitNote时,注意e错误消息告诉您NPE发生在
DBAdapter.java
的第53行(如果您在IDE中单击这一行,它将直接跳到有问题的代码行)但是,在pastebin中,这一行是空白的。似乎您在编译和运行应用程序与创建pastebin之间插入了一行空白。请以后小心,因为这可能会造成很多混乱。非常感谢!这很好地解决了它,现在我只需解决一些小问题,但是现在确实有一个数据库了!:)