2013-09-05 2 views
0

У меня есть приложение, которое отображает некоторые элементы, загруженные из веб-службы (например, Fruits). Эти предметы редко меняются. Вы также можете показать наличие этих предметов (например, для яблок, 10 кг доступно в магазине A сегодня, 20 кг завтра, ...)Синхронизация Android между устройствами

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

Более или менее, я получил около 40 предметов, не более. И каждая информация о доступности составит около 200 записей.

Какой метод вы использовали бы для реализации?

Моя идея до сих пор:

  1. Я строй SQLite базы данных (с ContentProvider) фруктов и Незанятностьно
  2. синхронизировать эту БД каждый 2/3 дня (то есть достаточно, нет необходимости делать это чаще)
  3. Я использую BackupAgent синхронизировать весь DB файл

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

Мой другой вариант был бы:

  1. элементы нагрузки и доступность при запуске приложения
  2. закладки хранятся в SharedPreferences
  3. Я использую BackupAgent синхронизировать только SharedPreferences

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

+0

Почему бы не просто сохранить флаг любых новых закладок и просто отправить новые на сервер. то при синхронизации отправлено последнее сообщение или что-то такое, что вы только вернули, у вас нет – tyczj

+0

Сервер только для чтения. Закладки не централизованы. Я не могу это изменить. –

ответ

2

API резервного копирования Android полезен только для инициализации нового устройства на основе резервных копий, созданных другим устройством. См. the backup API docs. Неправильная инфраструктура позволяет синхронизировать 2 устройства.

Предлагаю вам ознакомиться с функциями игровых сервисов Google Play Cloud Save. Он позволяет синхронизировать данные на двух устройствах. Обычно он используется играми, но может также использоваться в других сценариях (например, у вас).

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