Развертывание большой базы данных с помощью приложения Android
Мне нужно написать приложение для Android-устройств, которым требуется доступ к большой (~200 МБ) базе данных. Каков был бы лучший способ сделать это? Могу ли я просто вставить базу данных в папку активов? Я читал о различных ограничениях, которые применяются ко всему размеру приложения и к отдельным ресурсам внутри, особенно на некоторых устройствах... Каковы именно эти ограничения?
Есть ли способ сделать это, кроме загрузки после установки с внешнего сервера?
1 ответ
G1 имеет 256 МБ встроенной памяти для приложений. Даже на Nexus One есть только 512 МБ, поэтому я думаю, что вряд ли кто-то захочет, чтобы одно приложение заняло такую большую долю этого хранилища, поэтому создание файла.apk размером 200 МБ + не будет практичным.
Ваши варианты, вероятно, следующие:
- Сделайте базу данных доступной через веб-сервис, чтобы ваше приложение могло запрашивать ее через интернет-соединение.
- По мере необходимости загружайте данные по мере необходимости и сохраняйте их на SD-карте.
- Загрузите базу данных на SD-карту при первом запуске приложения.
Я думаю, что последний из них наименее предпочтителен, так как загрузка 200 МБ займет много времени и может использовать значительную часть чьего-то ежемесячного пособия на передачу данных 3G. Если вы собираетесь это сделать, возможно, стоит проверить состояние телефона, чтобы вы загружали его только при наличии соединения Wi-Fi.