SQLは
INSERT INTO "quotes" VALUES(1,1,1,'This is a quote','This is a quote in german','By Me','jackson',1,1,1305587611,'0','Thriller');
テキストファイルから読み取った後、db.execSQLを使用してこの行を実行しています。
InputStream is = myContext.getResources().openRawResource(R.raw.quotesinsert);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String readLine = null;
db.execSQL(QUOTE_DB_CREATE);
while ((readLine = br.readLine()) != null) {
db.execSQL(readLine);
}
これは Android の他のすべてのバージョンで機能しますが、ICS(4.0.4) ではクラッシュします。
01-14 02:07:46.271: E/AndroidRuntime(1802): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.foo.quotesapp/com.foo.quotesapp.QuoteList}: android.database.sqlite.SQLiteException: near "?INSERT": syntax error
テーブルを作成する SQL とこの挿入をスタンドアロンの SQLite プログラムで試してみましたが、うまくいきました。