我试图了解游标是如何工作的,但我不理解这段代码的一部分——(从http://www.vogella.com/articles/AndroidSQLite/article.html 摘录)
public Comment createComment(String comment) {
ContentValues values = new ContentValues();
values.put(MySQLiteHelper.COLUMN_COMMENT, comment);
long insertId = database.insert(MySQLiteHelper.TABLE_COMMENTS, null,
values);
Cursor cursor = database.query(MySQLiteHelper.TABLE_COMMENTS,
allColumns, MySQLiteHelper.COLUMN_ID + " = " + insertId, null,
null, null, null);
cursor.moveToFirst();
Comment newComment = cursorToComment(cursor);
cursor.close();
return newComment;
}
有人可以解释一下这里发生了什么吗?这就是我认为正在发生的事情 - 他正在将值插入到名为 comment 的列下的表中。然后,他进行查询,将光标设置到他在表中添加评论的位置。
然后我对他为什么做 cursor.moveToFirst() 感到困惑。光标不是指向他刚刚添加的当前评论吗?我以为他正试图返回他刚刚插入表格的评论,所以他不能删除 moveToFirst() 方法吗?