在Android数据库中只向表中插入一次行

在Android数据库中只向表中插入一次行,android,database,sqlite,Android,Database,Sqlite,在创建数据库时,我只想在表中插入大约10行。我不希望每次应用打开时都添加它们。只需一次作为最终值的表格。我该怎么做呢?谢谢 public void insertEvents(){ SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(COL_EVENT, "value1"); values.put(COL_EVE

在创建数据库时,我只想在表中插入大约10行。我不希望每次应用打开时都添加它们。只需一次作为最终值的表格。我该怎么做呢?谢谢

public void insertEvents(){
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(COL_EVENT, "value1");
    values.put(COL_EVENT, "value2");
    values.put(COL_EVENT, "value3");
    values.put(COL_EVENT, "value4");

    db.insert(TABLE_EVENTS, null, values);
}

使用的
onCreate
方法


编辑:是类似的问题。或者您可以尝试

,因为您正在使用
SQLiteOpenHelper
,请将插入内容放入其
onCreate()
。使用传入的
SQLiteDatabase
作为参数,不要递归调用
getWritableDatabase()

我知道这可能太晚了,但我只是在分享我的答案。您的代码似乎显示您正在尝试添加4行。以下是一些要点:

1) 如@Georgiy Shur所述,使用
onCreate
方法执行此操作

2)
insert
方法一次只插入一行。所以你应该这样做:

ContentValues values = new ContentValues();
values.put(COL_EVENT, "value1");
db.insert(TABLE_EVENTS, null, values);
values.put(COL_EVENT, "value2");
db.insert(TABLE_EVENTS, null, values);
values.put(COL_EVENT, "value3");
db.insert(TABLE_EVENTS, null, values);
values.put(COL_EVENT, "value4");
db.insert(TABLE_EVENTS, null, values);

尽量说得更详细些。分享类似的答案。明白了,当我调用getWritableDatabase()时,我会得到递归错误,因为我在主活动中也调用了它