YukuとBrettによって言及されたInsertHelperは現在非推奨(APIレベル17)であるため、Googleが推奨する適切な代替手段はSQLiteStatementを使用することです。
私はこのようなデータベース挿入メソッドを使用しました:
database.insert(table, null, values);
深刻なパフォーマンスの問題もいくつか経験した後、次のコードにより500の挿入が14.5秒から270ミリ秒にスピードアップしました。
SQLiteStatementの使用方法は次のとおりです。
private void insertTestData() {
String sql = "insert into producttable (name, description, price, stock_available) values (?, ?, ?, ?);";
dbHandler.getWritableDatabase();
database.beginTransaction();
SQLiteStatement stmt = database.compileStatement(sql);
for (int i = 0; i < NUMBER_OF_ROWS; i++) {
//generate some values
stmt.bindString(1, randomName);
stmt.bindString(2, randomDescription);
stmt.bindDouble(3, randomPrice);
stmt.bindLong(4, randomNumber);
long entryID = stmt.executeInsert();
stmt.clearBindings();
}
database.setTransactionSuccessful();
database.endTransaction();
dbHandler.close();
}