30 МБ Sqlite3 база данных - в том числе в Android-приложение - PullRequest
1 голос
/ 02 марта 2012

У меня есть база данных SQLite3 (созданная в настольном приложении sqlite) с таблицей android_metadata для использования в моем приложении для Android.

Каков наилучший способ создания базы данных Android с использованием этого файла базы данных?

Я попытался включить его в папку ресурсов, но получил ошибку размера при копировании в приложение и не был уверен, что это произошло из-за максимального размера файлов активов.

Я также прочитал инструкции по хранению базы данных на SD-карте и доступу к ней.

Какая функция на Android-помощнике sqlite лучше всего открывает новую базу данных из экспорта sqlite3?

Я отправил файл базы данных в data / data / com ../ database /, и он создал «android.database.sqlite.SQLiteDatabaseCorruptException: диск поврежден ..

Не уверен, как это сделать, благодарю за любую помощь!

Ответы [ 2 ]

0 голосов
/ 02 марта 2012

Причина, по которой вы получаете ошибку размера, заключается в том, что android любит сжимать файлы в папке Assets, но не может распаковывать их, если их размер превышает 1 мегабайт. Некоторые расширения файлов не сжимаются, как JPEG, GIF, MP3, Jet. Я всегда называю свою базу данных чем-то вроде name.db.jet, а затем переименовываю ее в name.db, когда копирую ее в каталог базы данных. Расширение файла на самом деле ничего не значит, кроме как присвоить ему имя, например .jet, чтобы обойти ограничения максимального размера.

Кстати, если вы собираетесь включить БД размером 30 МБ, обязательно включите ее в сжатый формат. Это уменьшит размер до 10 МБ.

0 голосов
/ 02 марта 2012

Вы можете попытаться использовать SQLiteAssetHelper для этого, поскольку он разработан, чтобы упростить разработчикам упаковку базы данных с их приложением.

При этом ваша база данных слишком велика. На множестве устройств 1.6 не хватает места как для вашего APK, так и для распакованной базы данных.

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