插入SQLiteDatabase

时间:2013-05-13 09:24:15

标签: android sqlite android-sqlite

我写了这段代码:

// CurrentFriendsTable
// ---------------------
//| _id | email | uname |
// ---------------------

// FFriend class
class FFriend {
    String email, uname;
    // getter and setter
}

// add single friend to database
public long addFriend(FFriend friend) {
    ContentValues values = new ContentValues();
    values.put(CurrentFriendsTable.COLUMN_EMAIL, friend.getEmail());
    values.put(CurrentFriendsTable.COLUMN_UNAME, friend.getName());
    return database.insert(CurrentFriendsTable.TABLE_NAME, null, values);
}

// add list of friends to database
public void addListOfFriends(List<FFriend> listOfFriend){
    int lenghOfList = listOfFriend.size();
    for (FFriend friend : listOfFriend)
        addFriend(friend);
}

我在这里有两个问题:

  1. 当我使用database.insert()函数向表添加值时,是否自动添加_id? (我将列定义为_id主键自动增量)

  2. addFriend(FFriend friend)中调用addListOfFriends(List<FFriend> listOfFriend)函数的情况可以改变使用吗?

2 个答案:

答案 0 :(得分:0)

1)如果您将密钥定义为:

,则会自动添加主键
primary key autoincrement

2)我认为这很好。 (按照建议here这是循环的好方法)

只是一个建议:不要在Android中使用内部getter和setter。仅当您需要从目标类(reference

之外获取或设置值时才使用它

答案 1 :(得分:0)

1)您可以自动增量,也可以手动添加主键。您可以从数据库中表的属性执行此操作。

2)在我看来,这是插入数据的好方法。