Я постараюсь ответить на все ваши вопросы, обратившись к более широкому вопросу: Как синхронизировать данные между веб-сервером и приложением для Android?
Для синхронизации данных между вашим веб-сервером и приложением Android требуется несколько различных компонентов на вашем устройстве Android.
Постоянное хранение:
Вот как ваш телефон фактически хранит данные, которые он получает от веб-сервера. Одним из возможных способов достижения этого является написание собственного пользовательского ContentProvider, поддерживаемого базой данных Sqlite. Достойный учебник для поставщика контента можно найти здесь: http://thinkandroid.wordpress.com/2010/01/13/writing-your-own-contentprovider/
ContentProvider определяет согласованный интерфейс для взаимодействия с вашими сохраненными данными. Это также может позволить другим приложениям взаимодействовать с вашими данными, если вы хотите. За вашим ContentProvider может стоять база данных Sqlite, кэш или любой произвольный механизм хранения.
Хотя я, безусловно, рекомендую использовать ContentProvider с базой данных Sqlite, вы можете использовать любой механизм хранения на основе Java, который вам нужен.
Формат обмена данными:
Это формат, который вы используете для отправки данных между вашим веб-сервером и вашим приложением для Android. Двумя наиболее популярными форматами в наши дни являются XML и JSON. При выборе формата следует подумать о том, какие библиотеки сериализации доступны. Я знаю не понаслышке, что есть фантастическая библиотека для сериализации json под названием gson: https://github.com/google/gson, хотя я уверен, что для XML существуют аналогичные библиотеки.
Служба синхронизации
Вам понадобится какая-то асинхронная задача, которая может получать новые данные с вашего сервера и обновлять мобильный контент, чтобы он отражал контент сервера. Вы также захотите уведомлять сервер всякий раз, когда вы вносите локальные изменения в контент и хотите отразить эти изменения. Android предоставляет шаблон SyncAdapter как способ легко решить этот шаблон. Вам нужно будет зарегистрировать учетные записи пользователей, а затем Android проделает для вас много волшебства и позволит вам автоматически синхронизироваться. Вот хороший учебник: http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/
Что касается того, как вы определяете, совпадают ли записи, обычно вы создаете элементы с уникальным идентификатором, который вы храните как на устройстве Android, так и на сервере. Вы можете использовать это, чтобы убедиться, что вы ссылаетесь на одну и ту же ссылку. Кроме того, вы можете хранить атрибуты столбцов, такие как «updated_at», чтобы убедиться, что вы всегда получаете самые свежие данные или случайно не перезаписываете новые данные.
person
Grantismo
schedule
07.07.2012