Как работает курсор в Android? - PullRequest
0 голосов
/ 27 мая 2018

Я читал об API Cursor в Android, а также о комментариях других людей.Но есть кое-что, что я просто не смог понять.

Когда запрос сделан, содержит ли Cursor ALL строки запроса или только первая строка запрос?

Если он возвращает все строки, то почему люди говорят, что Cursor указывает на одну строку запроса?Поскольку существует необходимость вызова moveToFirst(), чтобы переместить Cursor к следующей строке.

Если он возвращает все строки, то откуда он знает количество строк взапрос с использованием метода getCount()?

Я пытался понять Cursor, сравнив его, например, с ArrayListArrayList мы получаем доступ к каждой записи, используя index списка.Этот index на самом деле является указателем , который указывает на одну запись ArrayList.

Итак, из того, что я вижу, это выглядит как Cursorсодержит только один ряд .Когда я вызываю moveX() методы, он возвращает мне следующую запись данных.Но тогда как он узнает количество результатов в запросе?

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Объект Cursor возвращается из запроса. Он возвратит все строки, которые возвращает запрос.

Он содержит все строки, но указывает только на 1 строку, что означает, что вы можете извлечь строку, которую высначала нужно навести на него курсор

0 голосов
/ 27 мая 2018

A Cursor - это объект, который указывает на одну строку по индексу строки.В основном случае запроса Cursor указывает на нулевую строку набора результатов.Затем вы должны переместить его в первый ряд или в каждый нужный вам ряд.

...