Выполнять запросы из файла в базу данных SQLlite в Android? - PullRequest
2 голосов
/ 16 декабря 2011

Раньше я работал с базой данных sql lite с Android, но всегда выполнял запросы один за другим.Теперь мне нужно выполнить много запросов, чтобы инициализировать базу данных городов.

Поэтому я обычно делал

sql = "THE QUERY";
myDatabase.execSql(sql);

Теперь я хочу выполнить файл, подобный следующему: http://joeylemmens.be/downloads/postcodes_en_gemeenten.sql

Какой лучший способ сделать это?

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

Ответы [ 3 ]

4 голосов
/ 16 декабря 2011

Если ваша цель - инициализировать базу данных SQLite с некоторыми значениями по умолчанию, то у вас должна быть версия базы данных с этими значениями по умолчанию, вы можете предоставить свое приложение вместе с этой версией базы данных по умолчанию.

Другой подход для чтения из файла и выполнения sqls также хорош, и я не могу придумать лучшего решения.

EDIT:

Как использовать уже созданную базу данных? увидеть это .

2 голосов
/ 17 декабря 2011

Если у вас есть несколько операторов в одном файле, API Android не будет его поддерживать.

Посмотрите здесь, как вы можете разбить файл на отдельные операторы и выполнить их: https://github.com/greenrobot/greenDAO/blob/master/DaoCore/src/de/greenrobot/dao/DbUtils.java

PS .: Да, вы должны загрузить файл и сохранить его информацию до строки.

2 голосов
/ 16 декабря 2011

Сохранение строки SQL в ресурсах в виде текстового файла, чтение в строку с помощью AssetManager, выполнение как обычно.

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