Как обеспечить, чтобы на каждом устройстве создавалась отдельная комната, а не новый экземпляр при каждом запуске приложения - PullRequest
1 голос
/ 11 ноября 2019

Возможно, я что-то упустил, потому что ничего не смог найти по этому поводу. Я хочу использовать Android Room для локального хранения своих данных на устройстве. Как мне убедиться, что это единая база данных, а не новый экземпляр каждый раз? Это по имени класса?

1 Ответ

1 голос
/ 11 ноября 2019

Когда вы создаете базу данных комнат и затем получаете доступ к встроенной базе данных, она открывает базу данных (или создает ее, если она не существует (один раз, если приложение не удалено)).

База данных сама по себе является файлом и обычно хранится в данных приложения (data / data / the_package / database), поэтому данные принадлежат приложению. Файл сохраняется (эффективно действует).

Если ваша проблема касается предварительно упакованной базы данных (т. Е. Базы данных, созданной и обычно заполненной в другом месте (например, инструментом управления SQLite) и поставляемой как часть APK)затем приложение скопирует базу данных из APK до его создания / открытия.

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

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