понедельник, 11 июня 2012 г.

Android - ограничение на размер файлов в папке assets

У android существует ограничение в 1 Mb на размер файлов в папке assets при загрузке которых:
InputStream myInput = myContext.getAssets().open( DB_NAME );
возникает ошибка:
asset (666): Data exceeds UNCOMPRESS_DATA_MAX (10424000 vs 1048576)

У меня возникла проблема с размером базы данных в sqlite (2.5 Mb)

На ум приходят два решения:

1. Делить файл на части
если вы под windows, то можно разделить файл с помощью HjSplit, если под unix, то выручит команда split:
split inputfile -b 1048576 outfileprefix
теперь нужно объединить файл БД в один:

2. Загружать данные с удаленного сервера.

Источник, ещё