下面是我的代码;
下面是我从文件管理器导入数据库的代码。
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]