我正在创建一个应用程序,但是当我开始创建数据库clases(sqlite)并且可以工作时,现在sqlite文件在android 9中有所不同,在另一个版本中,您转到/ data / data / packageapp / databases并发现了database.sqlite和database.sqlite-journal,现在我发现了这个文件,并且该文件无法在sqlite管理员或类似工具上打开...但是数据库有效,我不知道会发生什么,我想创建最后一个文件
查看照片
答案 0 :(得分:1)
默认情况下,使用Android 9 SQLite时,由于它有可能提高性能,因此现在使用预写日志记录模式(WAL)而不是日志记录模式。这就是为什么您看到 -shm (共享内存文件)和 -wal (预写日志文件)文件的原因。
Temporary Files Used By SQLite
但是,您应该能够在支持打开SQLite数据库的工具中的其他位置打开实际的数据库文件( yonuncafrases.sqlite )。 Compatibility WAL (Write-Ahead Logging) for Apps
我要创建最后一个文件
如果需要,您可以通过使用SQLite disableWriteAheadLogging方法强制使用日记模式,注意这必须在事务外部完成,然后将使用日记模式,并且将使用 -journal 文件然后根据需要创建。
您不妨阅读Write-Ahead Logging