rid*_*rid 8 sqlite import android
我有一个包含SQL CREATE TABLE
和INSERT
语句的大文本文件.如何在SQLiteOpenHelper
onCreate
方法中导入此文件?
或者,是否有直接使用二进制数据库文件的方法?
我需要它与Android 1.6兼容.
我不得不解决同样的问题.找不到直接的方法,所以我将文件放入res/raw目录并用于openRawResource
获取InputStream.然后我读了一行直到一个结束了;
.然后我将语句传递给sqlite数据库.
希望其他人有更好的方式,但我想我会添加我最终做的方式.
按照史蒂夫·普伦蒂斯的回答。那是我的实现:
res / raw中的mydb.sql文件
CREATE TABLE table1(col1 INTEGER PRIMARY KEY, col2 TEXT);
CREATE TABLE table2(col1 INTEGER PRIMARY KEY, col2 TEXT, col3 INTEGER);
Run Code Online (Sandbox Code Playgroud)
MyClass.java
InputStream inputStream = context.getResources().openRawResource(R.raw.mydb);
String queries = "";
try {
queries = IOUtils.toString(inputStream);
} catch (IOException e) {
Util.logException(e);
}
for (String query : queries.split(";")) {
db.execSQL(query);
}
Run Code Online (Sandbox Code Playgroud)
在 SQLiteOpenHelper onCreate() 方法中,您可以使用db.execSQL(...)
,但这取决于您的“文本文件”的结构(以及它有多大)。
或者,您可以使用您的应用程序“运送”SQLite 数据库 - 请参阅此链接为您提供一些想法...
在 Android 应用程序中使用您自己的 SQLite 数据库