【发布时间】:2012-06-28 13:43:59
【问题描述】:
我可以读取资产文件夹中的文本文件。但是现在我在文本文件中有一个数据库创建查询;如何在 Android 中执行该查询?请不要问我为什么要将查询保存在纯文本文件中。
【问题讨论】:
-
在 rawQuery 的帮助下,您可以执行该操作
我可以读取资产文件夹中的文本文件。但是现在我在文本文件中有一个数据库创建查询;如何在 Android 中执行该查询?请不要问我为什么要将查询保存在纯文本文件中。
【问题讨论】:
您应该使用 SqliteOpenHelper 并覆盖 onCreate 方法。 在该方法中,您应该从资源中读取文件并执行它。
参见this 了解如何使用 SqliteOpenHelper
然后从资源中读取文件只需这样做(来自here):
@Override
public void onCreate(SQLiteDatabase database) {
Resources res = getResources();
InputStream in_s = res.openRawResource(R.raw.sql);
byte[] b = new byte[in_s.available()];
in_s.read(b);
String sql = new String(b);
database.execSQL(sql);
}
然后您还需要实现 onUpgrade(因为它被标记为抽象),但在您决定更改数据库结构之前,您不需要在该方法中执行任何操作。
【讨论】: