有没有更简单的方法来查看在Android Studio中使用Room Persistence Library创建的数据库的内容?
我正在尝试以编程方式备份房间数据库.
为此,我只是复制.sqlite包含整个数据库的文件
但是,在复制之前,由于房间已启用提前写入日志,我们必须关闭数据库,以便将-shm文件和-wal文件合并为单个.sqlite文件.正如这里指出的那样
我.close()在RoomDatabase对象上运行:
一切正常,备份,但是,稍后,当我尝试执行INSERT查询时,我收到此错误:
android.database.sqlite.SQLiteException: no such table: room_table_modification_log (code 1)
Run Code Online (Sandbox Code Playgroud)
关闭后如何才能正确地重新打开房间数据库?
PS:.isOpen()在RoomDatabase对象返回true前INSERT
房间版: 1.1.1-rc1
sqlite android sqliteopenhelper android-room android-architecture-components
我在我的示例应用程序中使用 RoomDB。我能够对 DB 执行 CRUD 操作。但我无法查看 db 文件。我想在 sqlite DB 浏览器中查看表结构。
这是我的APPDatabase类
@Database(entities = {User.class}, version = 1,exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
private static AppDatabase INSTANCE;
public abstract UserDao userDao();
public static AppDatabase getAppDatabase(Context context) {
if (INSTANCE == null) {
INSTANCE =
Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, "user-database")
.allowMainThreadQueries()
.build();
}
return INSTANCE;
}
public static void destroyInstance() {
INSTANCE = null;
}
}
Run Code Online (Sandbox Code Playgroud)
帮我获取数据库文件。