导航:首页 > 操作系统 > androidcursor空

androidcursor空

发布时间:2022-09-30 20:12:42

A. android getContentResolver().query c.moveToFirst() 一直报空指针

可以从你的代码看到两个问题
1如果你的contentResolver已经注册了,这个时候这个段代码是会有异常的,需要捕获异常
2你的if语句明显有问题,你都没有对cursor做判空,那如果cursor为null的话,你调他的moveToFirst方法和getCount方法肯定是会报空指针的

B. Android数据库Cursor的问题

如果cursor中只有一行记录,那么cursor.moveToNext()为true
如果是多行记录,那么while就一直循环下去。不会忽略第一条记录的

C. android 当cursor为null 用不用关闭

如果已经crusor为null,是不用关闭的,因为已经不占据资源了,会被回收掉

D. Android Cursor(光标)解析

SQLiteDatabase db = dataBaseHelper.getWritableDatabase();
Cursor cursor = db.rawQuery("select *from User",null);
1.光标的行数:int getCount()

2.当前光标的位置:int getPosition()
返回的值从零开始, 当第一次返回行集时游标将位于位置 -1,即第一行之前。在返回最后一行之后,对 next() 的另一个调用将使光标离开最后一个条目,位于 count() 的位置。

3.从当前位置应用的偏移量:boolean move(int offset)
将光标从当前位置向前或向后移动一个相对量。 正偏移向前移动,负偏移向后移动。 如果最终位置在结果集的边界之外,则结果位置将分别固定为 -1 或 count(),具体取决于该值是在集合的前端还是末尾。如果请求的目的地可达,此方法将返回 true,否则返回 false。

4.将光标移动到绝对位置:boolean moveToPosition(int position)
值的有效范围是 -1 <= 位置 <= 计数。如果请求目的地可达,此方法将返回 true,否则返回 false。

5.将光标移动到第一行:boolean moveToFirst()

6.将光标移动到最后一行:boolean moveToLast()

7.将光标移动到下一行:boolean moveToNext()

8.将光标移动到上一行:boolean moveToPrevious()

9.返回光标是否指向第一行:boolean isFirst()

10.返回光标是否指向最后一行:boolean isLast()

11.返回光标是否指向第一行之前的位置:boolean isBeforeFirst()

12.返回光标是否指向最后一行之后的位置:boolean isAfterLast()

13.给定列名的从零开始的列索引,如果列名不存在,则返回 -1:int getColumnIndex(String columnName)

14.给定列名的从零开始的索引,如果该列不存在则抛出非法参数异常:int getColumnIndexOrThrow(String columnName) throws IllegalArgumentException

15.给定的从零开始的列索引处的列名:String getColumnName(int columnIndex)

16.返回一个字符串数组,其中按列在结果中的顺序保存结果集中所有列的名称。:String[] getColumnNames()

17.返回总列数:int getColumnCount()

18.各类型返回值
(1)以字节数组的形式返回请求列的值:byte[] getBlob(int columnIndex)
(2)以字符串形式返回请求列的值:String getString(int columnIndex)
(3)以整数形式返回请求列的值:int getInt(int columnIndex)
(4)以 long 形式返回请求列的值:long getLong(int columnIndex)
(5)以浮点数形式返回请求列的值:float getFloat(int columnIndex)
(6)以双精度形式返回请求列的值:double getDouble(int columnIndex)
(7)返回给定列值的数据类型:int getType(int columnIndex)
(8)列值是否为空:boolean isNull(int columnIndex)
(9)以短形式返回请求列的值:short getShort(int columnIndex)

19.检索请求的列文本并将其存储在提供的缓冲区中:void StringToBuffer(int columnIndex, CharArrayBuffer buffer)

20.关闭游标:void close()

21.游标是否关闭:boolean isClosed()

22.注册一个观察者,当支持此游标的内容发生变化时调用该观察者:void registerContentObserver(ContentObserver observer)

23.销毁注册的观察者:void unregisterContentObserver(ContentObserver observer)

24.注册一个观察者,当数据集的内容发生变化时被调用:void registerDataSetObserver(DataSetObserver observer)

25.销毁注册的观察者:void unregisterDataSetObserver(DataSetObserver observer)

26.注册以查看内容 URI 的更改。这可以是特定数据行的 URI,也可以是内容类型的通用URI:void setNotificationUri(ContentResolver cr, Uri uri)

cr是上下文,uri是需要观看的内容
27.是否所有光标移动都应导致调用 onMove():boolean getWantsAllOnMoveCalls()

只有在此方法返回 true 时,才会跨进程调用 onMove()
28.返回一组额外的值:Bundle getExtras()

29.光标用户与光标通信的带外方式:Bundle respond(Bundle extras)
30.设置 Bundle 返回的getExtras():void setExtras(Bundle extras)

E. android cursor 怎么使用

只是把corsor指向的一行传进去了,需要移动cursor来获取一列的内容。可以使用while(cursor.movetonext()){}来循环取值

阅读全文

与androidcursor空相关的资料

热点内容
pdf版本的ppt 浏览:174
网站服务器地址在哪里 浏览:713
python发行版常用包 浏览:212
nginx无法解析php 浏览:829
单片机编程基础语言 浏览:308
私有云服务器怎么设置 浏览:957
程序员的晚上生活 浏览:585
visualc的编译键不见了 浏览:856
51单片机毕业设计论文 浏览:666
3doutline怎么扩展命令 浏览:861
程序员生活费200 浏览:339
方舟编译器与小米 浏览:184
佳明app训练怎么用 浏览:989
如何查看data有没有加密 浏览:502
新福克斯压缩比发动机 浏览:1000
斐波那契回调算法公式 浏览:505
android短信自动转发 浏览:877
linuxroot安装软件 浏览:780
js压缩html代码 浏览:19
服务器内存怎么分区 浏览:10