Я разрабатываю приложение для Android, имеющее список, я бы хотел, чтобы этот список синхронизировался между несколькими пользователями - можно ли это сделать без стороне сервера?Синхронизация данных между пользователями в Android-приложении без сервера
ответ
Синхронизация данных между вашим веб-сервером и андроид-приложением требует наличия на вашем устройстве Android нескольких компонентов.
Persistent Storage:
Это как ваш телефон на самом деле хранит данные, которые он получает от веб-сервера. Одним из возможных способов достижения этого является создание собственного пользовательского ContentProvider, поддерживаемого базой данных Sqlite.
ContentProvider определяет согласованный интерфейс для взаимодействия с вашими сохраненными данными. Это может также позволить другим приложениям взаимодействовать с вашими данными, если вы хотите. За вашим ContentProvider может быть база данных Sqlite, кэш или любой произвольный механизм хранения.
Хотя я бы рекомендовал использовать ContentProvider с базой данных Sqlite, вы могли бы использовать любой механизм хранения на основе Java, который вы хотели.
Interchange Формат данных:
Этот формат используется для передачи данных между веб-сервером и андроид приложения. Двумя самыми популярными форматами в наши дни являются XML и JSON. При выборе формата вы должны подумать о том, какие библиотеки сериализации доступны. Я знаю, что есть фантастическая библиотека для сериализации json под названием gson: http://code.google.com/p/google-gson/, хотя я уверен, что подобные библиотеки существуют для XML.
Служба синхронизации
Вы хотите какой-то асинхронной задачи, которые могут получить новые данные с сервера и обновить мобильный контент, чтобы отразить содержание сервера. Вы также захотите уведомить об этом сервер при внесении локальных изменений в контент и хотите отразить эти изменения. Android обеспечивает шаблон SyncAdapter как способ легко решить этот шаблон. Вам нужно будет зарегистрировать учетные записи пользователей, а затем Android выполнит много волшебства для вас и позволит вам автоматически синхронизировать. Вот хороший учебник: http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/
Что касается того, как вы определяете, совпадают ли записи, обычно вы создадите элементы с уникальным идентификатором, который вы храните как на устройстве Android, так и на сервере. Вы можете использовать это, чтобы убедиться, что вы ссылаетесь на одну и ту же ссылку. Кроме того, вы можете хранить атрибуты столбцов, такие как «updated_at», чтобы убедиться, что вы всегда получаете самые свежие данные или случайно не записываете новые записанные данные.
- 1. Синхронизация данных Android между пользователями
- 2. Синхронизация данных между всеми пользователями сети
- 3. Ионная синхронизация мобильного приложения между пользователями дизайн
- 4. Синхронизация основных данных с несколькими пользователями
- 5. Синхронизация тем между разными подписанными пользователями
- 6. Двунаправленная синхронизация MySQL DB без мастер-сервера?
- 7. Синхронизация файлов между несколькими экземплярами сервера
- 8. Синхронизация времени между двумя ПК через TCP/IP, без сервера
- 9. Синхронизация данных ядра и сервера
- 10. Синхронизация данных между приложением и веб-сервером
- 11. Синхронизация файла yaml между узлами сервера
- 12. Синхронизация данных между многими потоками
- 13. Получение данных Firebase между пользователями
- 14. Синхронизация данных между двумя различными базами данных
- 15. Двусторонняя синхронизация баз данных между принимающей и местного производства сервера
- 16. Синхронизация данных между контроллером и объектом данных
- 17. Обмен данными между пользователями - без таблицы базы данных
- 18. Синхронизация данных между интерфейсом и бэкендом
- 19. Синхронизация данных между 2 системами
- 20. Синхронизация данных между несколькими устройствами
- 21. Синхронизация данных между экземплярами EC2
- 22. Синхронизация между двумя базами данных
- 23. Синхронизация/отправка данных между потоками
- 24. Синхронизация данных между двумя организациями
- 25. Синхронизация данных между сервером и приложением iOS
- 26. Обмен данными между приложениями для Android без базы данных сервера
- 27. Синхронизация данных ядра с ответом сервера
- 28. Синхронизация данных между двумя удаленными серверами
- 29. Синхронизация данных между сервером и клиентом
- 30. Синхронизация данных между серверами данных оракула
Вы можете сохранить этот список в файле на складе и синхронизировать этот файл с другими устройствами. –