- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Android 应用程序中,您可以使用方法 ContentResolver.query()
查询 URI。结果,你得到一个 Cursor
对象,然后你只需执行 Cursor.moveToNext()
反复从数据库中读取数据。
是否可以在后台线程中执行query()
(例如AsyncTask
的doInBackground
),但moveToNext
GUI 线程中的调用(例如 onPostExecute
)?
也就是说,时间主要花在 query()
上,因此 moveToNext
调用很快,或者相反,行为是惰性的,实际查询执行被推迟到请求数据为止?
最佳答案
在 Android 中,SQLite 游标在第一次调用需要知道查询是否返回某些记录时才会读取数据,然后将所有数据读取到缓存中。
因此第一个 moveToNext()
调用速度较慢。您可能想在后台线程中添加 getCount()
调用。
关于java - SQLite 中的时间花在查询上还是 moveToNext 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18795361/
我正在尝试将表中的所有列查询到一个长 TextView 和/或字符串中。我知道这可能不是做事的正确方法,但我必须这样做。如果我错了,请纠正我,我的印象是下一步会得到行中的下一列: Cursor c =
//row --> 2 int row = mCursor.getCount(); for (int i = 0; i < row; i++) { if (mCursor.moveToPositio
为什么我的 Android Cursor 没有一直走到原来“promise”的末尾?? 我的 cursor.getCount() 与我上一个 cursor.getPosition() 不同。检查我的
我偶尔会看到崩溃报告: Fatal Exception: java.lang.IllegalStateException: Couldn't read row 1127, col 0 from Cur
在 Android 应用程序中,您可以使用方法 ContentResolver.query()查询 URI。结果,你得到一个 Cursor 对象,然后你只需执行 Cursor.moveToNext()
由于这个异常,我遇到了几次崩溃,但无法在我自己的任何设备/模拟器上复制它。 来自 google play console 的堆栈跟踪 android.database.CursorWindowAl
boolean android.database.Cursor.moveToNext() 文档说: http://developer.android.com/reference/android/dat
下一段代码会按预期工作吗? Cursor c = db.query(tableName, requestedColumns, condition, conditionParams, n
以下语句 cursor.moveToNext() 始终为 false。我希望循环执行一次。我测试过查询实际上返回了数据。 谁知道这是怎么回事? String query ="SELECT(SE
创建标准 SQLite 游标后,我将使用以下方法遍历条目: while (cursor.moveToNext()) { } 所有行都被正确处理。我读过的所有文档都表明您需要发出 moveToFirst
我整个早上都在 StackOverflow 上尝试自学如何在 Android 应用程序上对我上传的 SQLite 数据库进行查询。我尝试过原始查询和直接查询,但到目前为止都没有奏效。这是代码: pub
我正在我的 Sqlite 数据库中运行查询.. 我将结果保存在我的 Cursor 中,我正在遍历它以获得所有结果.. allotugh 我正在检查并看到游标有超过 1 行,它只给我第一行,因为 mov
我想知道是否可以在 moveToNext() 之前调用 getType() 和 getColumnNames()。 基本上,我正在尝试编写以下辅助函数: public static int getC
我是一名优秀的程序员,十分优秀!