Articles of loadermanager

Android Compatibility package и getLoaderManager ()

Сообщается, что пакет совместимости с Android поддерживает LoaderManager. Как я могу получить экземпляр LoaderManager? Метод getLoaderManager () отсутствует в FragmentActivity, это только в классе Fragment. Но я хочу использовать только Loaders, а не фрагменты в моем приложении.

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

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

Предпочтительный метод загрузки зависимых запросов с помощью LoaderManager

Каков предпочтительный метод загрузки зависимых запросов с помощью API LoaderManager в Android? На данный момент лучшее, что я мог придумать, – это нечто вроде: @Override public void onCreate( Bundle savedInstanceState ) { getLoaderManager().initLoader( FIRST, null, this ); } @Override public void onLoadFinished( Loader<Cursor> loader, Cursor data ) { switch ( loader.getId() ) { case FIRST: […]

Шаблон для нескольких загрузчиков с LoaderManager?

Я использую Fragments и LoaderManager. Я должен запустить неизвестное количество задач, и они могут запускаться параллельно (в противном случае я бы просто использовал один и только один загрузчик). Например, у меня есть listview, и каждая строка может иметь кнопку для сохранения содержимого этой строки на веб-сервере. Пользователь может инициировать запрос на сохранение нескольких элементов параллельно. […]

Будет ли 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 не запускается. Странная вещь – когда я поворачиваюсь назад, она работает, и я всегда начинаю получать обратные вызовы, когда вернусь к ней. В моей деятельности […]

Глобальный загрузчик (LoaderManager) для повторного использования в нескольких действиях / фрагментах

То, что я хотел бы достичь: У меня есть два разных фрагмента. Я бы хотел, чтобы они оба отображали одни и те же данные в двух формах (в списке и на карте). Я бы хотел, чтобы они AsyncTaskLoader один загрузчик (в частности, AsyncTaskLoader ). Все работает нормально, но Loader не используется повторно. Создается другая, и […]

Как CursorLoader автоматически обновляет представление, даже если приложение неактивно?

Я работал над небольшим приложением списка дел. Я использовал CursorLoader для обновления ToDolistview у поставщика контента. У меня есть написанная функция onNewItemAdded() , которая вызывается, когда пользователь вводит новый элемент в текстовое представление и нажимает кнопку ввода. См. Ниже: public void onNewItemAdded(String newItem) { ContentResolver cr = getContentResolver(); ContentValues values = new ContentValues(); values.put(ToDoContentProvider.KEY_TASK, newItem); […]

AsyncTaskLoader onLoadFinished с ожидающей задачей и изменением конфигурации

Я пытаюсь использовать AsyncTaskLoader для загрузки данных в фоновом режиме для заполнения подробного представления в ответ на выбранный элемент списка. Я получил работу в основном, но у меня все еще есть одна проблема. Если я выберу второй элемент в списке и затем поверните устройство до того, как загрузка для первого выбранного элемента будет завершена , […]