2013-06-20 2 views
3

Я хотел бы сделать базовое приложение для Android в Android, чтобы мои ноги были мокрыми. У меня есть api для отдыха и онлайн-БД, который обрабатывает основной CRUD, когда есть соединение.Android: рекомендации по хранению данных в автономном режиме, когда данные хранятся в онлайн-БД

Большинство приложений задач, которые я использовал, позволяют создавать задачи, когда нет никакого соединения.

Каковы наилучшие практики для таких вещей?

Приложения обычно хранят копию ВСЕХ данных для пользователя локально, поэтому есть доступ к ней, когда соединение отсутствует?

Это выглядит как приложение, я использую (задачи Astrid) не имеет никаких проблем с доступом все мои задачи/историю, независимо от подключения

Если это так, то как Синхронизуется обрабатывается, насколько первичные ключи пульта дистанционного управления Дейты являются обеспокоен?

ответ

0

Одним из решений было бы иметь локальную базу данных в вашем приложении. Когда в этой базе данных нет данных в интернет-хранилище.

Теперь попросите приложение прослушать сетевые изменения. Когда устройство подключено к сети, вы можете загружать кэшированные данные из локальной базы данных на сервер без взаимодействия с пользователем.

1

У вас есть некоторая кодировка, допустим, что один запрос на одно изменение данных должен выполняться атомарно закодированным как xml или json. Создайте базовый класс, являющийся родителем соединения, и используйте его для отправки данных на удаленный db. Если соединение отсутствует, храните всю команду в файле или sqlite. Вы можете создавать несколько файлов (если они идут по файловому подходу) на основе их размеров, даты и т. Д. Создайте несколько правил, как будет выбрана самая старая запись - если вам нужно обновить db упорядоченным образом.

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