如何从包含多行的android游标中拉出一行

时间:2012-05-23 08:31:35

标签: android sqlite android-cursor

我从SQLite中的表中获取数据。

这是我的代码

String[] sColoumns = { "_id", "userloginid", "password", "firstname", "lastname", "email", "address"};
Cursor cursor = db.query("users", sColoumns, null,null,null,null,null); 

查询返回游标中表的所有行。

现在我想从光标中逐个拉行或将它们加载到数据表中,然后逐个拉出它们(就像在visual studio中一样)。

有什么可用的或我可以做的任何事情来实现这个目标吗?

提前感谢。

1 个答案:

答案 0 :(得分:2)

有两种方法可以回答你的问题。

1)您可以简单地遍历游标并使用行数据执行任何操作:

String[] sColoumns = { "_id", "userloginid", "password", "firstname", "lastname", "email", "address"};
Cursor cursor = db.query("users", sColoumns, null,null,null,null,null); 

try {
    int firstNameColIndex = cursor.getColumnIndex("firstname");
    int lastNameColIndex = cursor.getColumnIndex("lastname");

    while (cursor.moveToNext()) {
        String fullName = cursor.getString(firstNameColIndex) + cursor.getString(lastNameColIndex);
    }
} finally {
    cursor.close();
}

2)一个常见的用例是在列表视图中显示数据。从Android 3.0 Honeycomb(以及早期版本的Android Support / Compatiblity lib)开始,最佳做法是使用Loader来管理游标。例如,如果在内容提供商中更新数据,它将负责更新列表视图。我建议阅读http://developer.android.com/guide/topics/fundamentals/loaders.html(请参阅底部示例链接)以了解此主题。