无法从Room Database中的文件管理器在复制的数据库中插入数据?

时间:2019-08-27 09:57:09

标签: android sqlite android-studio android-sqlite android-room

下面是我的代码;

下面是我从文件管理器导入数据库的代码。

  holder.dataListBinding.llView.setOnClickListener(v -> {

            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(ImportedDBsActivity.this);
            alertDialogBuilder.setTitle("Import Data");
            alertDialogBuilder
                    .setMessage("Do you want to import this data ?")
                    .setCancelable(false)
                    .setPositiveButton("OK", (dialog, id) -> {
                        Util.initializeDB(ImportedDBsActivity.this).close();
                        db = Room.databaseBuilder(getApplicationContext(), DatabaseClass.class, Util.DATABASE_NAME)
                                .createFromFile(new File(filePath.get(position))).allowMainThreadQueries()
                                .addMigrations(MIGRATION_1_2
                                )
                                .setJournalMode(RoomDatabase.JournalMode.TRUNCATE)
                                .build();
                        List<User> emailsList = db.daoClass().getAllData();

                        Log.e("EEEEEEEEEEEEEEEEEE", "" + emailsList.toString());
                        Toast.makeText(getApplicationContext(), "Data Imported", Toast.LENGTH_SHORT).show();
                    })
                    .setNegativeButton("CANCEL", (dialog, id) -> dialog.cancel());
            AlertDialog alertDialog = alertDialogBuilder.create();
            alertDialog.show();


        });

然后我要插入数据,该数据未显示在从文件管理器导入的现有数据库中……

   User user = new User();
user.setStrNote(insertNewRecordFragmentBinding.edtNote.getText().toString());
            user.setStrDate(strDate);

   db.daoClass().addNote(user);

得到以下错误:

  

由于数据库已锁定,因此无法将“ / data / user / 0 / **** / databases / myDatabase”的数据库日志记录模式从“ wal”更改为“ PERSIST”。这通常意味着到数据库还有其他打开的连接,这阻止了数据库启用或禁用预写日志记录模式。继续而不更改日志模式。   由于数据库忙,无法更改数据库日志。继续...

还有这个:

  

(5)语句在2处中止:[PRAGMA journal_mode = PERSIST]

0 个答案:

没有答案