База данных wal и shm в android studio - PullRequest
0 голосов
/ 09 марта 2020

В моей android студии в data / data / com ... / database есть 3 файла .db, shm.db, wal.db, и когда я сохраняю этот файл .db, он не показывает никакой таблицы.

В то время как в моем другом мобильном телефоне есть только два файла .db, journal.db, и он показывает таблицу и данные при сохранении.

Я не знаю, почему это происходит ???

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

В более поздних версиях Android ведение журнала SQLite Write Ahead включено по умолчанию.

При ведении журнала записи вперед создается файл Wal, подробнее см. https://sqlite.org/wal.html.

Когда база данных закрыта, содержимое файла Wal будет передано в основной файл БД, также есть автоматическая c контрольная точка и вы можете запустить ее вручную.

Можно отключить это для каждого соединения, но если данные не перемещаются в основной файл базы данных, когда приложение закрыто, значит, ваш код не закрывает базу данных должным образом.

0 голосов
/ 09 марта 2020

Если вы хотите проверить содержимое базы данных, вам нужно загрузить все эти 3 файла, сохранить их вместе в папке, и тогда вы сможете проверить содержимое вашей базы данных.

Ваша проблема:

Вы пытаетесь загрузить только файл расширения .db. Вот почему проблема идет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...