在哪里可以找到Room.DataBaseBuilder(...).build()创建的数据库? | 您所在的位置:网站首页 › python求字符串长度及字符串中数字个数 › 在哪里可以找到Room.DataBaseBuilder(...).build()创建的数据库? |
现在房间是在哪里创建数据库文件的? 数据库(文件)将放置在实际设备上的默认位置,即data/data/< The _package_name>/ database /MyDB。 在您的例子中,正如您所编码的: myDatabase = Room.databaseBuilder(appContext, MyDatabase.class, "MyDB") .build();则数据库文件将为:- data/data//databases/MyDB data/data//databases/MyDB-wal data/data//databases/MyDB-shm在我的项目文件夹中找不到它。数据库文件不是项目的一部分,它是在安装应用程序的实际设备上创建和维护的文件。 然而,你可以使用Android Studio上的数据库检查器(现在的应用检查)来查看数据库,例如:- 如果您测试的任何设备允许访问,您还可以使用设备文件资源管理器查看文件。例如: 是否执行DatabaseBuilder.build()管理,以打开从以前的应用程序启动中创建的现有数据库? 是,如果文件存在,则打开该文件,否则创建该文件。如果您卸载应用程序,这实际上删除了该文件。数据库的全部思想就是持久化。 build()承担各种任务,主要是查看底层文件是否存在,然后打开该文件。在这样做的过程中, 数据库提取存储在文件中的版本号,并将该版本号与应用程序内编码的版本号进行比较(通过@Database). If,来自应用程序的版本号大于试图寻找迁移的尝试(最近自动迁移已经被添加到Room).compares预期的模式(根据定义为@的一部分的实体)),与file.A中发现的不匹配将导致应用程序崩溃,因此,必须进行修复。备注对文件的引用是一种简化,默认情况下,它使用一种称为WAL (预写日志)的登录模式。在WAL模式下,SQLite例程将维护额外的2个文件(您无需执行任何操作):- 数据库文件名以-wal为后缀是写入更改的主wal文件(这些更改将应用于主数据库wal以-shm为后缀的数据库文件名(这是WAL文件的WAL文件)。 |
CopyRight 2018-2019 实验室设备网 版权所有 |