Я слишком долго пытался заставить это работать. Я только начал входить в PhoneGap/Cordova. Я запустил демонстрационное приложение, установил все официальные плагины и добавил этот плагин SQLite для начала работы: https://github.com/brodysoft/Cordova-SQLitePlugin
Однако я хочу, чтобы плагин читал предварительно упакованную базу данных. Проще говоря, создайте приложение, которое работает в автономном режиме и не требует загрузки базы данных SQLite при первом запуске.
Я разрабатывал для Android в течение довольно долгого времени, и решение состояло в том, чтобы развернуть файл базы данных только для чтения в папке ресурсов и при первом запуске скопировать файл базы данных в другую папку, где я могу читать/писать, как мне нравится .
Поэтому я провел небольшое исследование и понял, что с PhoneGap ДОЛЖНО быть то же самое. Поместите где-нибудь двоичную базу данных SQLite, чтобы при сборке она была упакована вместе с приложением. А затем просто загрузите его с помощью подключаемого модуля SQLite, на который я ссылался здесь.
Наконец, вопрос! Какие точные шаги я должен предпринять, чтобы иметь возможность прочитать файл, который был упакован с приложением?
- Куда я должен поместить свой двоичный файл, чтобы убедиться, что он упакован в приложение?
- Как именно я должен инициализировать File API? Должен ли я запрашивать постоянное хранилище с помощью
window.requestFileSystem
? Или я должен получить какой-то (не знаю какой) каталог (cordova.file.applicationDirectory
) какDirectoryEntry
, используяwindow.resolveLocalFileSystemURL
? Если да, то какие ТОЧНЫЕ параметры я должен использовать? В основном я имею в виду это: https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md - Как прочитать упакованный файл? Использование
window.resolveLocalFileSystemURL
с правильной папкой? Какие тогда должны быть параметры? - Копирование файлов должно работать нормально, если я дойду до этого момента. Просто скопируйте из
cordova.file.applicationDirectory
только для чтения вcordova.file.dataDirectory
, который доступен для чтения/записи. Верно?
Я знаю, что вопросы могут быть довольно простыми, но мои бесчисленные попытки не увенчались успехом, и я не нашел учебника, который подробно объясняет это (поверьте мне, я гуглил). Кроме того, документация кажется недостаточной.
Просто работать с базой данных WebSQL и загружать данные в БД, используя загрузку INSERT
s, нецелесообразно, база данных содержит тысячи записей.
Спасибо за помощь заранее, вы избавите меня от головной боли или двух.