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

StackOverflow https://stackoverflow.com/questions/2246012

  •  20-09-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top