Android创建SQLite数据库和插入行 - 最佳实践?

时间:2015-07-10 08:54:38

标签: java android sqlite

在我的应用程序中我正在使用SQLite数据库。此数据库由DBHelper类创建,如果尚未创建的话。

最初我需要一张大约30行的表。填写数据的最佳做法是什么?这是我的代码。它工作得很好,但我认为有更好的方法吗?

user_birthday

2 个答案:

答案 0 :(得分:3)

您可以尝试以下方法。

ContentValues values=new ContentValues();
            values.put(1, "test1");
            db.insert("table_name", null, values);
            values.put(2, "test2");
            db.insert("table_name", null, values);
            values.put(3,"test3");
            db.insert("table_name", null, values);
            values.put(4,"test4");
            db.insert("table_name", null, values);
            ...

了解更多详情,请查看这些链接

http://mrbool.com/how-to-insert-data-into-a-sqlite-database-in-android/28895

How to insert value in data base using sqlite in android?

答案 1 :(得分:2)

由于您要求最佳实践,我正在引用此答案 您应该使用statements

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();

Reference

这里是one more link,其中给出了这两种插入方法之间的比较。 (对于100条记录,正常插入需要1657毫秒,而endTransaction()的语句需要92毫秒)