Android 将光标中找到的值输出到logcat?-安卓
我正试图自己调试一个问题。如果失败,可以稍后再发布;-) 我的logcat日志状态为“android.database.CursorIndexOutOfBoundsException:请求索引-1,大小为2”Android 将光标中找到的值输出到logcat?-安卓,android,database,cursor,Android,Database,Cursor,我正试图自己调试一个问题。如果失败,可以稍后再发布;-) 我的logcat日志状态为“android.database.CursorIndexOutOfBoundsException:请求索引-1,大小为2” 我想使用log.v(“desc”,cursor)来显示光标返回的内容。是否有一种方法可以从游标[0]中指定值?是否在游标上调用了moveToFirst()?或者如果要查找游标在特定时间点的位置,请调用cursor.getPosition() 请看下面的图片 它通常非常冗长,但有时会有所帮助
我想使用
log.v(“desc”,cursor)
来显示光标返回的内容。是否有一种方法可以从游标[0]中指定值?是否在游标上调用了moveToFirst()
?或者如果要查找游标在特定时间点的位置,请调用cursor.getPosition()
请看下面的图片
它通常非常冗长,但有时会有所帮助。如果您打算将光标的内容逐行写入logcat,可以使用如下代码:
if (cursor.moveToFirst()) {
do {
StringBuilder sb = new StringBuilder();
int columnsQty = cursor.getColumnCount();
for (int idx=0; idx<columnsQty; ++idx) {
sb.append(cursor.getString(idx));
if (idx < columnsQty - 1)
sb.append("; ");
}
Log.v(TAG, String.format("Row: %d, Values: %s", cursor.getPosition(),
sb.toString()));
} while (cursor.moveToNext());
}
if(cursor.moveToFirst()){
做{
StringBuilder sb=新的StringBuilder();
int columnsQty=cursor.getColumnCount();
对于(intidx=0;idxAndroid提供了一个专门用于调试游标的类。它被称为
调用该方法以查看光标的内容
此帮助程序为您循环并打印出光标的内容,并将光标返回到其原始位置,这样就不会打乱您的迭代逻辑。在使用光标之前使用它。moveToFirst()
谢谢,这解决了我的问题。现在进入下一个问题,耶!你是一个明星!“我想用log.v(“desc”,cursor)来显示光标返回的内容。有没有办法从中指定像cursor[0]那样的值?”我想知道你在句子中的意思?你想看到整行数字0(第0行中所有列的值)吗?如果列不是字符串,它可能是int-double?+导入android.database.DatabaseUtils;
Log.v("Cursor Object", DatabaseUtils.dumpCursorToString(cursor))