相关疑难解决方法(0)

查看使用Room Persistence Library创建的数据库的内容

有没有更简单的方法来查看在Android Studio中使用Room Persistence Library创建的数据库的内容?

android android-room

67
推荐指数
8
解决办法
3万
查看次数

备份室数据库

我正在尝试以编程方式备份​​房间数据库.

为此,我只是复制.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

16
推荐指数
3
解决办法
4766
查看次数

如何在 sqlite DB 浏览器中查看 Room 数据库的表?

我在我的示例应用程序中使用 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)

帮我获取数据库文件。

android android-room

5
推荐指数
1
解决办法
6334
查看次数