Можно ли предварительно загрузить Sqlite DB на Palm Pre?

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

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

У кого-нибудь получалось что-то подобное?

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

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


person rslite    schedule 25.06.2011    source источник
comment
У меня нет, но я должен указать, что вам не следует полагаться на эту работу. Возможно, но цель создания базы данных из дампа sql - избежать именно тех проблем, с которыми вы сталкиваетесь.   -  person G Gordon Worley III    schedule 26.06.2011


Ответы (2)


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

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

person Ben Combee    schedule 27.06.2011

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

person Kelvin    schedule 28.08.2011
comment
Это то, что я изначально пробовал, и мне не удалось открыть базу данных, созданную телефоном, на компьютере. Это дало мне некоторую "некорректную" ошибку - person rslite; 24.09.2011