Articles of Курсор

Android CursorLoader

Я только начинаю играть с новым cursorLoader, и у меня возникают проблемы. Следующий код – это просто понять, как работает cursorLoader, но я продолжаю получать: «Пытаюсь потребовать и уже закрытого курсора», когда я возобновляю эту активность. Приложение отлично работало, прежде чем я начал играть с cursorLoader. Есть идеи? private Cursor getSectionData(CharSequence parent_id) { String[] projection […]

«Оптимизация» доступа к курсорам в Android: позиции и имена столбцов

С точки зрения производительности: хорошо ли, если в каждом доступе к моим курсорам я использую что-то вроде: public static final String COLUMN_NAME = "my_column_name"; cursor.getString(cursor.getColumnIndex(COLUMN_NAME)); Или я должен увидеть измеримое улучшение производительности, если я использую это вместо этого: public static final int COLUMN_POSITION = #column_position; cursor.getString(COLUMN_POSITION); Я предпочитаю первый подход, поскольку остальная часть кода не […]

Android cursor.moveToNext ()?

Я пытаюсь запросить все столбцы в таблице в одно длинное текстовое представление и / или строку. Я знаю, что это может быть неправильным способом, но я должен это сделать. Исправьте меня, если я ошибаюсь, у меня создалось впечатление, что следующий шаг получит следующий столбец в строке: Cursor c = db.get(); if(c.moveToFirst){ do{ string = c.getString(0); […]

Android, как вы код теперь, если requery устарел?

В соответствии с темой. Если мы использовали вызов cursor.requery (), но теперь он устарел, как вы теперь называете эту функцию? «Этот метод устарел. Не используйте это. Просто запросите новый курсор, чтобы вы могли сделать это асинхронно и обновить представление списка после возвращения нового курсора». Итак, как запросить новый курсор и передать его обратно в адаптер?

Android, как запросить огромную базу данных в android (размер курсора ограничен 1 МБ)

Я работаю над созданием приложения, которое должно запрашивать в течение некоторого времени, базы данных с более чем 4k строк, и каждая строка имеет 90 полей (строки). Проблема в том, что если я выберу * из базы данных, мой курсор станет действительно большим (более 4 МБ). И курсор в android ограничен 1 МБ. Как я могу […]

Как получить строку из выбранного элемента SimpleCursorAdapter?

Я использую AutoCompleteTextView, чтобы предложить пользователю несколько слов из моего sqlite db, когда они вводят строку ввода для поиска. Я пытаюсь сделать предложение дружественным, используя simple_list_item_2, вот мой код: package com.suit.kamus; import android.app.Activity; import android.database.Cursor; import android.database.MatrixCursor; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; […]

Как безопасно закрыть курсор и базу данных?

Я извлек записи из базы данных с помощью курсора. Это прекрасно работает. Но, у меня есть некоторые ошибки в Logcat, пока я использую этот код public Cursor fetchAll() { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query(t1, new String[] {"_id",name, date, prior, time, dateformat}, null, null, null, null, prior); return cursor; } Мой logcat – […]

Выходные значения найдены в курсоре для logcat? – Android

Я пытаюсь самостоятельно отлаживать проблему. Может выложить его позже, если я потерплю неудачу 😉 В моем журнале logcat указано "android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 2" Я хотел бы использовать log.v("desc", cursor) чтобы показать, что возвращает курсор. Есть ли способ указать значение из него, как курсор [0]?

Курсор MediaStore Cursor с использованием определенной папки

Я использую курсор для возврата элементов для мультимедийного представления Listview. Я хотел бы только возвращать элементы, которые находятся в определенной папке. Это работает для моего списка Song, так как этот курсор основан на MediaStore.Audio.Media.DATA, и я могу проверить это для папки в курсоре: final String folder = "'" + (new MyPrefs(this.PREF_PATH)).getString("music_folder",null) + "%'"; audioCursor = […]

Вызов метода может вызвать java NullpointerException

У меня есть код: public String getNameUpdateEvent(long id) { Cursor mCursor = db.rawQuery("select name from events WHERE _id=" + id + ";", null); if (mCursor != null) { mCursor.moveToFirst(); } String updateNameEvent; updateNameEvent = mCursor.getString(mCursor.getColumnIndex("name")); return updateNameEvent; } И я получаю предупреждение Warning:(173, 45) Method invocation 'mCursor.getColumnIndex("name")' may produce 'java.lang.NullPointerException' Как я могу исправить это […]