Если вы хотите предварительно заполнить базу данных (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 () выполняет только первый оператор (Майк - Тигр).
Что бы вы сделали дозаполнить базу данных?