Введение
У меня есть приложение, которое позволяет пользователю добавлять список музыкальных альбомов в избранное. Содержимое музыкальных альбомов хранится на устройстве, что обеспечивает автономный доступ.
Любимые варианты также хранятся в автономном режиме через локальную базу данных SQLite.
Однако, если Интернет активен, вызов избранного запроса происходит как обычно, я хотел бы поддерживать это в автономном режиме.
Я наткнулся на GCM Network Manager, который позволит мне запланировать задачу, когда сеть активна, поэтому каждый любимый запрос, сделанный в автономном режиме, будет запланирован.
Проблема и мои вопросы
Я просмотрел документацию и искал, но не могу найти ответы на эти вопросы.
Могу ли я отправить несколько разовых задач с одним и тем же тегом и убедиться, что они не переопределены? Я спрашиваю об этом, потому что в документах говорится, что метод
setUpdateCurrent
класса построителя одноразовых задач по умолчанию является ложным, чтобы предположить, что он не переопределен. Однако в методеsetTag
указано, что если тег тот же, существующая задача будет обновлена, а это не то, что мне нужно. Я хочу поставить ту же задачу в очередь, потому что это будет уникальный запрос избранного музыкального альбомаЯ понял, что вышеуказанное можно решить, установив тег идентификатора музыкального альбома, который у меня есть, но я не знаю, в каком порядке диспетчер заданий GCM выполняет свои задачи. я использую пример
Вот две задачи, у них уникальные теги, первая была отправлена первой, а затем чуть позже второй.
- Tag = 1A-favourite
- Tag = 1A-unfavourite
Будет ли менеджер сети GCM выполнять эти задачи в том порядке, в котором они были отправлены? Это может вызвать проблему, если неизбранный запрос был сделан до избранного.
Спасибо, что прочитали мой вопрос.