为什么使用Android Room时没有创建数据库文件?

8

我在我的Android应用中使用了Room Persistence Library,但是在创建后,我无法在设备上找到包含表的.sql文件。

当我通过SQLiteOpenHelper创建数据库时,我可以在设备上的data文件夹中看到所有的表,但是当我通过Room创建数据库时,没有任何文件。

我应该在哪里查看所有表的内容?

创建数据库的代码:

@Provides
@Singleton
PokuponDataBase providePokuponDataBase() {
    return Room.inMemoryDatabaseBuilder(SuperDealApp.getInstance().getApplicationContext(), PokuponDataBase.class, "PokuponRoomDatabase").build();
}

尝试使用 getDatabasePath(),如此处建议的 - Sufian
1个回答

8
我找到了我的数据库消失的原因,是因为我创建时出现错误。我使用了Room.InMemoryDatabaseBuilder()而非简单的Room.databaseBuilder(),每次应用程序重新加载后,我的数据库都会被重新创建,而且内存中的数据库不会创建任何文件。

3
在问题中发布代码片段可以节省您的时间 ;) - Sufian
@WorieN 请接受您自己的答案作为“答案”。 - Willi Mentzel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接