2015-10-07 3 views
1

В Android я кэширую некоторые данные, возвращенные из вызова Rest api. Для данных кеша я хочу обновить его только после того, как данные изменились, возвращенные из вызова «Приоритет».Обновление данных кэша только после изменения данных, возвращенных с сервера.

Существует два возможных способа, которыми я занимаюсь.

  1. Сравнение возвращаемых данных с кешем, а затем его обновление.
  2. Установка любого флага с сервера для изменения данных.

Проблема: Есть список категорий, которые я получаю с сервера, и основываясь на том, что я настраиваю вкладки в приложении для Android. Но эти категории с меньшей вероятностью будут меняться. Я не хочу, чтобы вкладки ожидали загрузки до тех пор, пока данные не будут получены с сервера. Вот почему я использую кеш.

Просьба обеспечить наилучшую реализацию для такого рода корпусов.

+0

Я знаю, что вопрос очень прост. Но я ищу лучшую реализацию для этого случая. – vsvankhede

+1

вы можете использовать GCM для этого. если есть какие-либо изменения с сервера, то отправьте сообщение на андроид, чтобы перезагрузить его. –

ответ

1

В идеале вы хотели бы использовать push-уведомление с сервера, чтобы приложение узнало, что структура табуляции была обновлена ​​и чтобы получить новые данные. Это позволяет контрейлеризовать сокет, который уже открыт.

Менее идеальным решением было бы кэширование последнего ответа, а затем, после отображения представления, проверьте сервер, чтобы узнать, присутствует ли обновление. Загрузите обновление и измените вкладки при поступлении обновления.

Вы можете сделать конечную точку проверки (против update_time или что-то еще) при каждом изменении состояния приложения, таким образом, это всего лишь небольшое количество передаваемых данных, если только категории не изменились.

+0

привет, можете ли вы привести пример для третьего абзаца? Спасибо –

Смежные вопросы