Android 9 Pie的更改在手机上创建SQLite数据库文件(?)

时间:2018-12-24 13:01:55

标签: android sqlite android-version android-9.0-pie

我正在创建一个应用程序,但是当我开始创建数据库clases(sqlite)并且可以工作时,现在sqlite文件在android 9中有所不同,在另一个版本中,您转到/ data / data / packageapp / databases并发现了database.sqlite和database.sqlite-journal,现在我发现了这个文件,并且该文件无法在sqlite管理员或类似工具上打开...但是数据库有效,我不知道会发生什么,我想创建最后一个文件

查看照片

https://imgur.com/oSiiGqZ

1 个答案:

答案 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 文件然后根据需要创建。

  • 我建议覆盖 onConfigure 方法,并在该覆盖的方法中调用disableWriteAheadLogging。或者,您可以使用journal_mode pragma(我相信disableWriteAheadLogging仍然可以这样做)

您不妨阅读Write-Ahead Logging