也许我错过了一些东西,因为我找不到任何关于这个的东西。我想使用 Android Room 将我的数据本地存储在设备上。如何确保它是单个数据库,而不是每次都是新实例?是按类名吗?
最佳答案
当您构建房间数据库然后访问构建的数据库时,它会打开数据库(或者如果它不存在则创建它(一次,除非应用程序被卸载))。
数据库本身是一个文件,一般存储在App的数据(data/data/the_package/databases)中,因此数据属于App。该文件仍然存在(实际上是永久性的)。
如果您关心的是预打包的数据库(即,在其他地方创建并通常填充的数据库(例如 SQLite 管理工具)并作为 APK 的一部分提供),那么应用程序会在构建之前从 APK 复制数据库/打开它。
因此,创建实例(构建后访问)实际上是打开文件,而不是每次都创建新数据库。
关于android - 如何确保为每个设备创建一个房间,而不是每次启动应用程序时创建一个新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58794265/