Java android studio,有问题;android.database.sqlite.SQLiteException:没有这样的表:";

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”

我需要从数据库中的表“levels”中读取行。 首次启动应用程序时,数据库将从“资产”文件夹复制到“数据库”文件夹。 当我试图看到文件夹内的“数据库”时,这就是存在的内容

如果我将所有文件保存在桌面上的databases文件夹中,并在“db browser for sqlite”上打开dbarkanoid,则“levels”表不存在

如果我只在桌面上的databases文件夹中保存dbarkanoid,并在“db browser for sqlite”上打开dbarkanoid,“levels”表就存在

因此,当然,如果我从数据库中删除shm和wal文件,应用程序工作正常,并且找到“levels”表时没有问题

这就是从资产复制db的方法:

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

    }