Правильный способ кэширования значений из удаленной базы данных в приложении Android - PullRequest
4 голосов
/ 27 октября 2011

Мне хорошо известно, как я могу общаться с внешним сервером с помощью Android. В настоящее время я использую для этого сравнительно новый проект Android AppEngine Connected, и все работает довольно хорошо. Единственное, что меня беспокоит, это обработка времени простоя сервера (если оно вообще есть) и потеря интернета на стороне клиента.

Имея это в виду, у меня есть следующие вопросы по реализации:

  • Какова стандартная методика кэширования значений в базе данных SQLite для Android при одновременной попытке постоянного получения данных из веб-приложения.
  • Как я могу быть уверен, что у меня есть самая актуальная информация, когда эта информация доступна.
  • Как бы я обернул эту логику (определения того, из чего следует извлекать данные и являются ли данные недавними) в ContentProvider?
  • Кэширование данных - это даже хорошая идея? Или я должен просто предположить, что, если пользователь не подключен к Интернету, информация недоступна.

1 Ответ

2 голосов
/ 27 октября 2011

Хорошие новости!Существует конструкция Android, созданная специально для такого рода вещей, она называется SyncAdapter .Вот как все приложения Google выполняют синхронизацию базы данных.Кроме того, есть отличное Google IO видео , посвященное его использованию!Это на самом деле один из моих любимых.Он дает вам хороший обзор высокого уровня о том, как синхронизировать удаленные ресурсы с вашим сервером с помощью REST.

...