Самый быстрый и эффективный способ предварительного заполнения базы данных в Android

Если вы хотите предварительно заполнить базу данных (SQLite) в Android, это не так просто, как можно было бы подумать.

Итак, я нашел это руководство , на которое также часто ссылаются здесь, в Stack Overflow.

Но мне не очень нравится такой способ предварительного заполнения базы данных, поскольку вы берете управление из обработчика базы данных и сами создаете файлы. Я бы предпочел не трогать файловую систему и позволить обработчику базы данных делать все самостоятельно.

Я подумал, что можно было бы создать базу данных в обработчике базы данных onCreate () как обычно, но затем загрузить файл (.sql) из / assets, который содержит операторы для заполнения значений:

INSERT INTO testTable (name, pet) VALUES ('Mike', 'Tiger');
INSERT INTO testTable (name, pet) VALUES ('Tom', 'Cat');
...

Но вызов execSQL () в обработчике onCreate () на самом деле не работает. Кажется, что файл / assets не должен иметь больше 1 МБ, а execSQL () выполняет только первый оператор (Майк - Тигр).

Что бы вы сделали дозаполнить базу данных?

13
задан caw 6 January 2012 в 01:09
поделиться