Можно ли предварительно загрузить Sqlite DB на Palm Pre? - PullRequest
1 голос
/ 25 июня 2011

У меня есть приложение Palm Pre с большой (ish) базой данных. Я хотел бы перенести базу данных непосредственно на телефон, а не создавать приложение для базы данных.

Я попытался создать файл sqlite на ПК с помощью простого сценария на языке Python, затем приложить приложение, чтобы создать пустую расширенную базу данных в медиа / внутренних папках, а затем скопировать файл ПК поверх файла, созданного на телефоне. Однако я получаю сообщение об ошибке при попытке прочитать файл: «Образ диска базы данных искажен».

Кому-нибудь удалось сделать что-то подобное?

Редактировать : Теперь, когда моя первоначальная идея на самом деле невозможна, возникает мой вопрос: каков наилучший способ инициализации прикладной БД с большим количеством данных без дублирования (теперь у меня есть массив с информацией и при первом запуске приложение создает и заполняет базу данных). Решение использовать гибридное приложение для меня слишком много, мне нужно простое и быстрое решение.

Альтернативой может быть подключение к «веб-сервису» и загрузка данных в приложение.

Ответы [ 2 ]

3 голосов
/ 27 июня 2011

Вы не можете получить доступ к предварительно загруженной базе данных SQLite непосредственно из своего кода JavaScript - пока WebKit использует SQLite для внутреннего использования, ему необходимо связать базу данных со своими собственными структурами данных и управлять некоторыми ограничениями.

Вы могли бы написать гибридное приложение, в котором ваш код C / C ++ действовал как сервер для доступа к включенному файлу данных. Вы можете использовать эту статическую версию SQLite в своем гибридном приложении, чтобы получить доступ к этим данным и отправить их через систему IPC в JS. Эта модель аналогична тому, как Quickfoffice на устройстве использует гибрид для анализа документов MS Word и отправки их представления в их приложение JS, которое показывает их с помощью движка рендеринга WebKit.

0 голосов
/ 28 августа 2011

Можно ли позволить приложению создать базовый файл sqlite, а затем загрузить его на рабочий стол, чтобы добавить объемные данные? Вам, вероятно, следует закрыть приложение, прежде чем отправить его обратно на телефон. Если это встроенное приложение, такое как календарь, у вас могут возникнуть проблемы, потому что фоновый процесс все еще может обращаться к БД. Может быть, перезагрузка после загрузки решит это.

...