Android 笔记之Cursor 类

关于 Cursor

在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情:

  • Cursor 是每行的集合。
  • 使用 moveToFirst() 定位第一行。
  • 你必须知道每一列的名称。
  • 你必须知道每一列的数据类型。
  • Cursor 是一个随机的数据源。
  • 所有的数据都是通过下标取得。

关于 Cursor 的重要方法

判断cursor是否空集

if (cur.moveToFirst() == false)
{
//为空的Cursor
return;
}

访问 Cursor 的下标获得其中的数据

int nameColumnIndex = cur.getColumnIndex(People.NAME); String name = cur.getString(nameColumnIndex);

现在让我们看看如何循环 Cursor 取出我们需要的数据

while(cur.moveToNext()) { //光标移动成功 //把数据取出 }

当cur.moveToNext() 为假时将跳出循环,即 Cursor 数据循环完毕。

如果你喜欢用 for 循环而不想用While 循环可以使用Google 提供的几下方法:

  • isBeforeFirst() 返回游标是否指向之前第一行的位置
  • isAfterLast() 返回游标是否指向第最后一行的位置
  • isClosed() 如果返回 true 即表示该游戏标己关闭

有了以上的方法,可以如此取出数据

for(cur.moveToFirst();!cur.isAfterLast();cur.moveToNext()) {     int nameColumn = cur.getColumnIndex(People.NAME);     int phoneColumn = cur.getColumnIndex(People.NUMBER);     String name = cur.getString(nameColumn);     String phoneNumber = cur.getString(phoneColumn); }

Done

时间: 2024-10-17 15:48:22

Android 笔记之Cursor 类的相关文章

android中的Cursor类

转载: 使用过 SQLite 数据库的童鞋对 Cursor 应该不陌生,如果你是搞.net 开发你大可以把Cursor理解成 Ado.net 中的数据集合相当于dataReader.今天特地将它单独拿出来谈,加深自己和大家对Android 中使用 Cursor 的理解. 关于 Cursor 在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情: Cursor 是每行的集合. 使用 moveToFirst() 定位第一行. 你必须知道每一列的名称. 你必须

Android中Cursor类的概念和用法

每天学习大量的东西,好多东西都不知道,只好百度.将自己的博客打造成一个文件库 原文链接:http://www.2cto.com/kf/201109/103163.html 关于 Cursor 在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情: Cursor 是每行的集合.使用 moveToFirst() 定位第一行.你必须知道每一列的名称.你必须知道每一列的数据类型.Cursor 是一个随机的数据源.所有的数据都是通过下标取得.关于 Cursor 的

转载:android笔记--android中的多线程--Handler, Looper, MessageQueue, Message类

什么时候使用多线程: 1. 耗时操作使用多线程, 耗时操作放在UI线程中会导致用户的操作无法得到响应. 2. 阻塞操作使用多线程, 理由同上. 3. 多核CUP的设备使用多线程, 可以有效提高CPU的利用率. 4. 并行操作使用多线程. android中的多线程模型主要涉及的类有:Looper, Handler, MessageQueue, Message等. 一:Looper类: 1 static final ThreadLocal<Looper> sThreadLocal = new Th

Android Cursor类的概念和用法

http://www.2cto.com/kf/201109/103163.html 关于 Cursor 在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情: Cursor 是每行的集合. 使用 moveToFirst() 定位第一行. 你必须知道每一列的名称. 你必须知道每一列的数据类型. Cursor 是一个随机的数据源. 所有的数据都是通过下标取得. 关于 Cursor 的重要方法: close() 关闭游标,释放资源 copyStringToBu

Android 开发笔记 “Sqlite Cursor 使用”

使用过 SQLite 数据库的童鞋对 Cursor 应该不陌生,如果你是搞.net 开发你大可以把Cursor理解成 Ado.net 中的数据集合相当于dataReader.今天特地将它单独拿出来谈,加深自己和大家对Android 中使用 Cursor 的理解. 关于 Cursor 在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情: Cursor 是每行的集合. 使用 moveToFirst() 定位第一行. 使用moveToNext()定位到下一行

Android笔记——SQLiteOpenHelper类

public 抽象类 SQLiteOpenHelper 继承关系 Java.lang.Object android.database.sqlite.SQLiteOpenHelper 类概要 这是一个辅助类,用来管理数据库的创建和数据库的版本. 你要创建一个这个类的子类来实现onCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase,int,int)方法,以及可选的onOpen(SQLiteDatabase)方法,并且这个类要管理数据库的状态,如果数据库存在

Android笔记之 开机自启动

在项目中用到开机自动运行功能,因此学习了下,在此作为笔记记录下. 主要是以下4个步骤: 1.原理了解: 通过搜查资料发现,当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为android.intent.action.BOOT_COMPLETED,因此我们只需要在自己的应用中接收这个广播,然后启动APP即可. 2.编写接收器 既然是接收广播,必然是要用广播接收器,因此新建一个继承自广播BroadcastReceiver的类来专门接收上

Android笔记:SurfaceView与SurfaceHolder对象

摘要 调试Media播放时,不时用到SurfaceView与SurfaceHolder对象,写case测试及实际运行效果, 基本上搞清楚这两个对象的用法及区别 1.SurfaceView public class SurfaceView extends View SurfaceView是视图(View)的继承类, 这个视图里内嵌了一个专门用于绘制 调试Media播放时,不时用到SurfaceView与SurfaceHolder对象,写case测试及实际运行效果, 基本上搞清楚这两个对象的用法及区

Cursor类

本文转自 http://blog.sina.com.cn/s/blog_618199e60101fskp.html,感谢作者 在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情: Cursor 是每行的集合. 使用 moveToFirst() 定位第一行. 你必须知道每一列的名称. 你必须知道每一列的数据类型. Cursor 是一个随机的数据源. 所有的数据都是通过下标取得. 关于 Cursor 的重要方法: ·close()——关闭游标,释放资源