Развертывание большой базы данных с помощью приложения Android

Мне нужно написать приложение для Android-устройств, которым требуется доступ к большой (~200 МБ) базе данных. Каков был бы лучший способ сделать это? Могу ли я просто вставить базу данных в папку активов? Я читал о различных ограничениях, которые применяются ко всему размеру приложения и к отдельным ресурсам внутри, особенно на некоторых устройствах... Каковы именно эти ограничения?

Есть ли способ сделать это, кроме загрузки после установки с внешнего сервера?

1 ответ

Решение

G1 имеет 256 МБ встроенной памяти для приложений. Даже на Nexus One есть только 512 МБ, поэтому я думаю, что вряд ли кто-то захочет, чтобы одно приложение заняло такую ​​большую долю этого хранилища, поэтому создание файла.apk размером 200 МБ + не будет практичным.

Ваши варианты, вероятно, следующие:

  • Сделайте базу данных доступной через веб-сервис, чтобы ваше приложение могло запрашивать ее через интернет-соединение.
  • По мере необходимости загружайте данные по мере необходимости и сохраняйте их на SD-карте.
  • Загрузите базу данных на SD-карту при первом запуске приложения.

Я думаю, что последний из них наименее предпочтителен, так как загрузка 200 МБ займет много времени и может использовать значительную часть чьего-то ежемесячного пособия на передачу данных 3G. Если вы собираетесь это сделать, возможно, стоит проверить состояние телефона, чтобы вы загружали его только при наличии соединения Wi-Fi.

Другие вопросы по тегам