Развертывание большой базы данных с помощью приложения Android - PullRequest
4 голосов
/ 11 февраля 2010

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

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

1 Ответ

11 голосов
/ 11 февраля 2010

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

Возможны следующие варианты:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...