Android 数据的保存,检索,删除之Cursor

今天遇到的一个问题是如何将数据删除后,将原来的id也相应的做改变呢,如果说对其id值进行逐个修改这也是可以的,但是当数据增多的时候,我们这么做就会很大程度上的降低程序的性能,所以我们想到的就是不要根据id的检索来获取数据库中的值,因为这样做的话是很不方便我们进行数据的删除的,不根据id的话,我们可以利用的就只有游标了,通过游标首先让其指向第一个元素,然后不断的向下指,这样我们就可以将其进行赋值了,但是当用游标的时候,程序崩了,所以准备好好的看看Api文档然后再去写了。

Cursor:

这个接口提供了一个随机读取数据库的query方法返回的结果的权利,游标的实现并不需要同步,因此当我们在多线程中使用游标的时候,Cursor 是每行的集合。使用 moveToFirst() 定位第一行你必须知道每一列的名称。你必须知道每一列的数据类Cursor 是一个随机的数据源。所有的数据都是通过下标取得。moveToFirst() 定位第一行。你必须知道每一列的名称。你必须知道每一列的数据类型。Cursor 是一个随机的数据源。所有的数据都是通过下标取得。

关于 Cursor 的重要方法:

close()
关闭游标,释放资源
copyStringToBuffer(int columnIndex, CharArrayBuffer buffer)
在缓冲区中检索请求的列的文本,将将其存储
getColumnCount()
返回所有列的总数
getColumnIndex(String columnName)
返回指定列的名称,如果不存在返回-1
getColumnIndexOrThrow(String columnName)
从零开始返回指定列名称,如果不存在将抛出IllegalArgumentException 异常。
getColumnName(int columnIndex)
从给定的索引返回列名
getColumnNames()
返回一个字符串数组的列名
getCount()
返回Cursor 中的行数
moveToFirst()
移动光标到第一行
moveToLast()
移动光标到最后一行
moveToNext()
移动光标到下一行
moveToPosition(int position)
移动光标到一个绝对的位置
moveToPrevious()

移动光标到上一行






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章