Java android studio,有问题;android.database.sqlite.SQLiteException:没有这样的表:";
我需要从数据库中的表“levels”中读取行。 首次启动应用程序时,数据库将从“资产”文件夹复制到“数据库”文件夹。 当我试图看到文件夹内的“数据库”时,这就是存在的内容 如果我将所有文件保存在桌面上的databases文件夹中,并在“db browser for sqlite”上打开dbarkanoid,则“levels”表不存在 如果我只在桌面上的databases文件夹中保存dbarkanoid,并在“db browser for sqlite”上打开dbarkanoid,“levels”表就存在 因此,当然,如果我从数据库中删除shm和wal文件,应用程序工作正常,并且找到“levels”表时没有问题 这就是从资产复制db的方法:Java android studio,有问题;android.database.sqlite.SQLiteException:没有这样的表:";,java,android,database,sqlite,Java,Android,Database,Sqlite,我需要从数据库中的表“levels”中读取行。 首次启动应用程序时,数据库将从“资产”文件夹复制到“数据库”文件夹。 当我试图看到文件夹内的“数据库”时,这就是存在的内容 如果我将所有文件保存在桌面上的databases文件夹中,并在“db browser for sqlite”上打开dbarkanoid,则“levels”表不存在 如果我只在桌面上的databases文件夹中保存dbarkanoid,并在“db browser for sqlite”上打开dbarkanoid,“levels”
private void copyDataBase() throws IOException {
OutputStream myOutput = new FileOutputStream(DB_PATH + DB_NAME);
byte[] buffer = new byte[1024];
int length;
InputStream myInput = myContext.getAssets().open(DB_NAME);
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
myInput.close();
myOutput.flush();
myOutput.close();
}