本文主要是介绍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()
移动光标到上一行
这篇关于Android 数据的保存,检索,删除之Cursor的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!