2011-12-16 2 views
2

Я уже работал с базой данных sql lite с Android, но всегда выполнял запросы один за другим. Теперь мне нужно выполнить много запросов для инициализации базы данных городов.Выполнять запросы из файла в базу данных SQLlite в Android?

Так что я использовал, чтобы сделать

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

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

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

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

ответ

4

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

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

EDIT:

How to use already created database? see this.

2

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

2

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

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

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