从文件执行查询到Android中的SQLite数据库?

时间:2011-12-16 19:37:10

标签: android sqlite

之前我曾使用过Android的sql lite数据库,但我总是逐个执行查询。现在我需要执行大量查询来初始化城市数据库。

所以我以前做过

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

现在我想执行如下文件:http://joeylemmens.be/downloads/postcodes_en_gemeenten.sql

最好的方法是什么?

我可以将整个文件存储在一个字符串中然后重新执行上面的操作,但必须有更好的东西。

3 个答案:

答案 0 :(得分:4)

如果您的目标是使用某些默认值初始化SQLite数据库,那么您应该拥有具有这些默认值的数据库版本,您可以提供您的应用程序以及该默认数据库版本。

从文件读取的另一种方法&执行sqls也很好&我想不出更好的解决方案。

修改

How to use already created database? see this

答案 1 :(得分:2)

将资源中的SQL字符串存储为文本文件,使用AssetManager读取字符串,照常执行。

答案 2 :(得分:2)

如果您在一个文件中有多个语句,Android的API将不支持它。

看看如何将文件拆分为单独的语句并执行它们: https://github.com/greenrobot/greenDAO/blob/master/DaoCore/src/de/greenrobot/dao/DbUtils.java

PS:是的,你应该下载文件并在之前将信息存储为一个字符串。