快速插入SQLite Android

时间:2015-08-11 08:00:39

标签: java android sqlite

我在Android中学习SQLite。我尝试创建插入数据库的通用方法。其慢插入

 public long addVlues(String tableName, ContentValues cv) {
        long result = db.insert(tableName, null, cv);
        return result;
    }

但它的方法是通用的,我可以在我想要的时候使用它。例如:

ContentValues cv = new ContentValues();
cv.put("name", "test");
dao.addVlues("daoTest", cv); //this i calling method addValues

它的优秀和简单的代码(对我来说),但它的速度很慢。

Bellow 快速插入代码:

public void addValueTest(String tableName) {
        String sql = "insert into "+ tableName + " (id, name) values (?, ?);";

        db.beginTransaction();
        SQLiteStatement stmt = db.compileStatement(sql);
        for (int i = 0; i < 1000; i++) {
            stmt.bindString(i, "name");

            stmt.clearBindings();
            Log.e("qqq", String.valueOf(i));
        }

        db.setTransactionSuccessful();
        db.endTransaction();
    }

但是对于每个表我需要创建单个方法,它会增加代码。我有问题。如何创建通用快速插入方法?

1 个答案:

答案 0 :(得分:1)

我会做这样的事情:

<item android:id="@+id/action_maps"
    android:title="@string/action_map"
    app:showAsAction="never"/>

表和字段名称显然只是例如。