android - Android 9 Pie 在手机上创建 SQLite 数据库文件的变化(?)

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

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

检查照片

/image/zV8hB.jpg

最佳答案

默认情况下,Android 9 SQLite 现在使用预写日志模式 (WAL),而不是日志模式,因为它具有提高性能的潜力。这就是为什么您会看到 -shm(共享内存文件)和 -wal(预写日志文件)文件。

Temporary Files Used By SQLite

但是,您应该能够在支持打开 SQLite 数据库的工具中的其他位置打开实际的数据库文件 (yonuncafrases.sqlite)。 Compatibility WAL (Write-Ahead Logging) for Apps

i want to create the last files

如果需要,您可以使用 SQLite disableWriteAheadLogging 方法强制使用日志模式,请注意,这必须在事务外部完成,然后将使用日志模式,并且 -journal 文件将然后根据需要创建。

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

您可能希望阅读Write-Ahead Logging

关于android - Android 9 Pie 在手机上创建 SQLite 数据库文件的变化(?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53913827/

相关文章:

c# - 64 位 SQLite.dll 和任何 CPU

android - 从 CursorAdapter 中的 ListView 中删除项目

android - 我是否需要在 Android 4.1 及更早版本上明确声明 WRITE_EXTERNAL_STORAGE 权限?

android - 编辑布局 xml 时的 Intellij Android 预览 Pane 不允许我选择其他 SDK 版本

sql - 尝试在db(sqlite)中搜索列并将特定数值替换为空

android - 在 Android 平板电脑 (HTC Flyer) 上查看崩溃日志

android - 我做项目的时候加的。 AndroidX Artifact 从此就没有mqt通信了。问题是什么?

android - 如何使用新的 Google Vision API 生成条形码并将其转换为位图?

Android:自定义 ListView 中的单选按钮

android - 在 android 中以 .wav 文件格式录制音频