Как я могу сохранить файл 32 МБ в проекте Blackberry
Недавно я занимаюсь разработкой приложения для Android и BlackBerry. Что мне нужно сделать, это сохранить файл Sqlite 32 МБ в проекте в качестве исходной базы данных для использования приложения. В случае с Android это просто, и я могу легко сохранить этот большой файл в папке сборки, но я испытываю затруднения, пытаясь сделать эту работу в blackberry, потому что, согласно объявлению RIM, размер приложения не должен превышать 15 МБ.
http://forums.crackberry.com/blackberry-os-apps-f35/rim-explains-app-memory-limit-637544/
Кто-нибудь может мне помочь, если есть другие хитрости, чтобы это произошло. Загружать файл 32 МБ во время запуска приложения не очень хорошая идея. Навигация пользователя в приложении займет много времени.
Спасибо заранее. Любая помощь будет высоко оценен.
1 ответ
Я думал об этом вчера после работы, и я думаю, что вы также можете попробовать включить те же данные, которые содержит БД, но в сжатом формате, например, при первом запуске приложения, вы создаете и заполняете больший локальный sqlite. БД из него, затем удалите сжатые данные.
Например, вы можете создать дамп CSV для каждой таблицы и сохранить его в файле.csv (то есть: table.csv). Затем вы можете затем сжать каждый файл в файл (то есть: table.gz). Затем вы компилируете каждый сжатый файл во втором модуле ресурсов для вашего приложения (то есть: res_module.cod). При установке приложения этот модуль также устанавливается и копирует свои файлы на SDCard. Затем основной модуль считывает файлы с SDCard, распаковывает их и заполняет каждую таблицу из них. После этого вы можете программно удалить модуль assests и удалить временные файлы sdcard. Чтобы это работало, необходимо, чтобы сжатые файлы были меньше 14 МБ для размещения в одном файле cod.
Что касается схемы БД, возможно, формат для ее экспорта уже существует, в противном случае вы можете создать свой собственный формат или, если БД вряд ли изменится, то жестко закодировать его (плохая практика).