Правильная структура для использования отдельных файлов SQLite в качестве хранилища - PullRequest
1 голос
/ 13 марта 2012

Я создаю приложение для Android, где пользователь может создавать, открывать или сохранять данные, которые хранятся в файлах SQLite. Каждый отдельный «сеанс» данных хранится в отдельном файле базы данных.

Например, пользователь создает документ для своего рецепта, сохраняет его как recipe.sqlite, а затем открывает изагружает otherdocument.sqlite.

Я хочу, чтобы пользователи могли вносить изменения в свои документы, не сохраняя их навсегда.Таким образом, эти изменения будут храниться во временной базе данных SQLite до их копирования в исходную.

Каков наилучший способ структурировать эту функциональность?

Вот что я думаю:

  1. Когда пользователь открывает некоторую сохраненную базу данных SQLite, мы копируем / перезаписываем ее поверх внутренней базы данных SQLite приложения, которая является единственной запрашиваемой.приложениемЭта база данных находится в папке приложения.
  2. Пользователь вносит изменения в свой документ, и эти изменения отражаются во внутренней базе данных приложения SQLite.
  3. Когда пользователь решает сохранить файл с определенным именем,мы создаем копию внутренней базы данных SQLite как результирующую.

Этот подход учитывает необходимость во временной базе данных SQLite, но страдает, потому что использует вдвое больше места (проблематично для больших документов) иПроцедуры ввода / вывода требуют времени.

Есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 13 марта 2012

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

Чтобы разрешить пользователям делать временные изменения, вы можете использовать транзакции и не фиксировать их, пока пользователь не захочет сделать изменения постоянными.

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