Изменения в Android 9 Pie при создании файлов базы данных SQLite на телефоне (?) - PullRequest
0 голосов
/ 24 декабря 2018

Я создаю приложение, но когда я начинаю создавать предложения базы данных (sqlite), и это работает, теперь файлы sqlite отличаются в Android 9, в других версиях вы идете в / data / data / packageapp / database и вы нашлиdatabase.sqlite и database.sqlite-journal, теперь я обнаружил, что эти файлы нельзя открыть на администраторе sqlite или аналогичных программах ... Но базы данных работают, я не знаю, что произойдет, я хочу создать последние файлы

Проверьте фото

https://imgur.com/oSiiGqZ

1 Ответ

0 голосов
/ 24 декабря 2018

В Android 9 SQLite по умолчанию теперь используется режим ведения журнала записи (WAL) вместо режима журнала из-за его потенциала для повышения производительности.Именно поэтому вы видите файлы -shm (файл с общей памятью) и -wal (файл записи вперед).

Используемые временные файлыПо SQLite

Однако вы должны иметь возможность открывать фактический файл базы данных ( yonuncafrases.sqlite ) в других инструментах, которые поддерживают открытие баз данных SQLite. Совместимость WAL (ведение журнала записи) для приложений

я хочу создать последние файлы

При необходимости вы можете принудительно использовать режим журналас помощью метода SQLite disableWriteAheadLogging, отметив, что это должно быть сделано вне транзакции, а затем будет использоваться режим журнала и что при необходимости будет создан файл -journal .

  • Я бы предложил перезаписать метод onConfigure и вызвать disableWriteAheadLogging в этом переопределенном методе.В качестве альтернативы вы могли бы использовать journal_mode pragma (что, я думаю, так или иначе делает disableWriteAheadLogging)

Возможно, вы захотите прочитать Запись с записью вперед

...