Я создаю приложение для Android, где пользователь может создавать, открывать или сохранять данные, которые хранятся в файлах SQLite. Каждый отдельный «сеанс» данных хранится в отдельном файле базы данных.
Например, пользователь создает документ для своего рецепта, сохраняет его как recipe.sqlite, а затем открывает изагружает otherdocument.sqlite.
Я хочу, чтобы пользователи могли вносить изменения в свои документы, не сохраняя их навсегда.Таким образом, эти изменения будут храниться во временной базе данных SQLite до их копирования в исходную.
Каков наилучший способ структурировать эту функциональность?
Вот что я думаю:
- Когда пользователь открывает некоторую сохраненную базу данных SQLite, мы копируем / перезаписываем ее поверх внутренней базы данных SQLite приложения, которая является единственной запрашиваемой.приложениемЭта база данных находится в папке приложения.
- Пользователь вносит изменения в свой документ, и эти изменения отражаются во внутренней базе данных приложения SQLite.
- Когда пользователь решает сохранить файл с определенным именем,мы создаем копию внутренней базы данных SQLite как результирующую.
Этот подход учитывает необходимость во временной базе данных SQLite, но страдает, потому что использует вдвое больше места (проблематично для больших документов) иПроцедуры ввода / вывода требуют времени.
Есть ли лучший способ сделать это?