Articles of Курсор

Как получить номер телефона для контактов в Android

Мой код выглядит следующим образом: String[] columns = {ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.HAS_PHONE_NUMBER}; Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, columns, null, null, null); int ColumeIndex_ID = cursor.getColumnIndex(ContactsContract.Contacts._ID); int ColumeIndex_DISPLAY_NAME = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); int ColumeIndex_HAS_PHONE_NUMBER = cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER); while(cursor.moveToNext()) { String id = cursor.getString(ColumeIndex_ID); String name = cursor.getString(ColumeIndex_DISPLAY_NAME); String has_phone = cursor.getString(ColumeIndex_HAS_PHONE_NUMBER); if(!has_phone.endsWith("0")) { System.out.println(name); GetPhoneNumber(id); } } cursor.close(); public String GetPhoneNumber(String […]

Каков механизм setNotificationUri?

Я только что реализовал CursorLoader, и он отлично работает! Фактически, я не думал, что мой ListView будет автоматически обновляться, когда базовые данные будут изменены до тех пор, пока я не проверю его. По-видимому, это волшебство setNotificationUri. Мой вопрос в том, как он знает, когда данные в курсоре изменились? Скажем, я тихо помещу дополнительную строку где-нибудь. […]

Когда закрыть курсор в Android?

У меня есть приложение, которое использует курсор для выбора данных через rawQuery из sqlite db для заполнения ListView на Android ;. Каждый раз, когда пользователь нажимает на элемент listview, я создаю новый экземпляр Activity для повторного заполнения listview. Лучше ли вызывать cursor.close() и db.close() чтобы избежать проблем с памятью? У меня действительно есть db.close() в […]

Завершение курсора, который не был деактивирован или закрыт нефатальной ошибкой

Я получаю ошибку «Завершение курсора, которая не была деактивирована или закрыта» на этом фрагменте кода. Код используется для заполнения списка. Поскольку это нефатальная ошибка, нет сбоя, и все, кажется, работает нормально .. но мне не нравится ошибка. Если я закрою курсор в конце этого кода, то список останется пустым. Если я закрою курсор в onStop, […]

Что означает «неверный оператор в fillWindow ()» в Android-курсоре?

Иногда я вижу эту ошибку в выходе logcat , Cursor: invalid statement in fillWindow(). Иногда это происходит, когда я нажимаю клавишу «Назад», а затем переходит к списку Android по умолчанию, прежде чем перейти к своему пользовательскому listview . Что это значит? Как это решить? Потому что он не указывает на какую-либо строку кода, из которой […]

Android.database.CursorIndexOutOfBoundsException: запрашивается индекс 0 с размером 0

Я использую пользовательский адаптер, расширяющий адаптер курсора для отображения данных в списке, для отображения определенного номера телефона. Я передал идентификатор методу в классе базы данных, но он показывает errorandroid.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0 При размещении отладчика в методе, который не происходит после строки num = cursor.getString(cursor.getColumnIndex("ContactNumber")); Может ли кто-нибудь помочь мне […]

Создайте курсор из жестко заданного массива вместо DB

Я пытаюсь сделать список перетаскивания для небольшого игрового приложения, которое я пишу. В списке 6 записей. Однако в библиотеке, которую я добавил, требуется объект Cursor, который говорит с БД. Это слишком много для моей ситуации. Есть ли способ создать объект Cursor, основанный на структуре данных на основе памяти, такой как массив? Есть ли способ, которым […]

Использование курсора в android

Я просматривал некоторые коды в Интернете относительно подключения к базе данных, поиска. Я видел Cursor cur1= moveToFirst() во многих кодах, я хотел знать, что такое использование курсора и почему мы используем moveToFirst() поскольку я новичок в android.

Каков наилучший способ повторить курсор Android?

Я часто вижу код, который включает в себя повторение результата запроса к базе данных, выполнение чего-то с каждой строкой, а затем переход к следующей строке. Типичными примерами являются следующие. Cursor cursor = db.rawQuery(…); cursor.moveToFirst(); while (cursor.isAfterLast() == false) { … cursor.moveToNext(); } Cursor cursor = db.rawQuery(…); for (boolean hasItem = cursor.moveToFirst(); hasItem; hasItem = cursor.moveToNext()) […]