Articles of android loader

Что может вызвать StaleDataException, кроме преждевременного вызова cursor.close ()?

В настоящее время я сильно модифицирую / переписываю приложение для Android, и я видел случайный крах в следующих строках: CursorAdapter метод CursorAdapter , он вызывает AbstractWindowedCursor#checkPosition() и: 02-20 15:03:18.180 E/AndroidRuntime(17143): android.database.StaleDataException: Attempting to access a closed CursorWindow.Most probable cause: cursor is deactivated prior to calling this method. 02-20 15:03:18.180 E/AndroidRuntime(17143): at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:139) 02-20 15:03:18.180 E/AndroidRuntime(17143): […]

Почему onLoadFinished вызывается снова после возобновления фрагмента?

У меня особенная проблема с Loaders. В настоящее время я не уверен, что это ошибка в моем коде или я неправильно понимаю загрузчиков. Приложение Проблема возникает из-за разговоров (представьте что-то похожее на Whatsapp). Используемые загрузчики реализованы на основе примера AsyncTaskLoader . Я использую библиотеку поддержки. В OnCreate я запускаю загрузчик для получения кэшированных сообщений. Когда […]

В чем преимущество загрузчиков через Asynctask в Android?

Есть ли преимущества Loaders над задачей Async? Также, как сделать загрузчики совместимыми для телефонов с Android froyo. Редактировать: Основная проблема здесь в том, что я не использую собственный DB (SqlLite). Использование БД на сервере разработки. Очевидно, я больше не могу использовать CursorLoader . AsyncTaskLoader не имеет примеров вообще. Если есть, пожалуйста, сделайте ссылку. Лучше ли […]

Погрузчик поставляет результат в неправильный фрагмент

У меня есть активность с прокручиванием вкладок с помощью вкладок ActionBar, основанных на примере разработчика Android . На каждой вкладке отображается фрагмент, и каждый фрагмент (на самом деле, Шерлок-Фрагмент) загружает другой вид удаленного запроса api через пользовательский AsyncTaskLoader. Проблема заключается в том, что если вы нажмете вкладку, чтобы переместить 2 вкладки / страницы, а фрагмент […]

Будет ли LoaderManager.restartLoader () всегда приводить к вызову onCreateLoader ()?

LoaderManager имеет этот метод restartLoader() : public abstract Loader<D> restartLoader (int id, Bundle args, LoaderCallbacks<D> callback) Запускает новый или перезапускает существующий загрузчик в этом менеджере, регистрирует обратные вызовы к нему и (если активность / фрагмент в настоящее время запущен) начинает его загружать. Если ранее был запущен загрузчик с тем же идентификатором, он будет автоматически уничтожен, […]

Должны ли загрузчики использоваться для доступа к веб-службам?

Насколько я понимаю, инфраструктура Loader предназначена для доступа к данным, хранящимся локально в базе данных ContentProvider / SQLite. У нас есть класс CursorLoader, который отлично справляется с этим вариантом использования. Но мне интересно, можно ли использовать среду Loader для написания классов, расширяющих Loader / AsyncTaskLoader для доступа к удаленным веб-службам (например, веб-службе REST)? Я всегда […]

Android Loader не запускает обратные вызовы на экране.

Я использую AsyncTaskLoader . У меня есть активность, которая реализовала LoaderCallbacks (Библиотека поддержки). Я отлаживаю onLoadFinished останова и помещаю в журналы, загрузчик поставляет результат, однако второй раз обратный вызов onLoadFinished не запускается. Странная вещь – когда я поворачиваюсь назад, она работает, и я всегда начинаю получать обратные вызовы, когда вернусь к ней. В моей деятельности […]

Данные не синхронизированы между пользовательским CursorLoader и CursorAdapter, поддерживающим ListView

Задний план: У меня есть пользовательский CursorLoader который работает непосредственно с SQLite Database вместо использования ContentProvider . Этот загрузчик работает с ListFragment поддерживаемый CursorAdapter . Все идет нормально. Чтобы упростить ситуацию, предположим, что в пользовательском интерфейсе есть кнопка «Удалить». Когда пользователь нажимает на это, я удаляю строку из БД, а также вызываю onContentChanged() на моем […]

LoaderManager с несколькими загрузчиками: как получить правильный загрузчик курсора

Для меня неясно, как получить правильный курсор, если у вас несколько Loaders. Допустим, вы определили два разных загрузчика: getLoaderManager().initLoader(0,null,this); getLoaderManager().initLoader(1,null,this); То в onCreateLoader () вы делаете разные вещи в зависимости от id: @Override public Loader<Cursor> onCreateLoader(int id, Bundle arg1) { if (id==0){ CursorLoader loader = new CursorLoader(getActivity(), MaterialContentProvider.CONTENT_URI,null,null,null,null); }else{ CursorLoader loader = new CursorLoader(getActivity(), CustomerContentProvider.CONTENT_URI,null,null,null,null); […]

Intereting Posts
Как открыть ссылку WebView для новой активности? Будет ли поле адреса хранить несколько телефонных номеров при отправке sms на несколько телефонных номеров за один раз? Список идентификаторов языков для Android Нет системного изображения cpu / abi для этой цели Как получить доступ к файловой системе Android из командной строки Windows 7 через USB Ненавязчивое всплывающее окно, которое не блокирует перетаскивание n в Android Может ли кто-нибудь дать хорошее объяснение Кинжала 2? Gradle не удалось разрешить библиотеку в Android Studio TextInputLayout setErrorEnabled не создает новый объект TextView Запретить изменение ориентации в приложении Xamarin для Android Lollipop – Неопределенное изменение цвета ProgressBar – Программно Как протестировать отслеживание направления Android? Как удалить место для показа имени приложения Полезно ли использовать весь макет WebView в собственном приложении для Android? Как измерить HeartBeat с помощью устройства Android