Android Sync Sqlite - PullRequest
       26

Android Sync Sqlite

11 голосов
/ 09 марта 2012

Я делаю словарное приложение, которое использует SQLite. У меня есть одна таблица, в которой хранятся пара иностранных слов и их переводы. Я хочу синхронизировать эту таблицу с определенной таблицей в Документах Google .

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

  1. Могу ли я использовать SyncAdapter для синхронизации между SQLite и GoogleSpreadsheet? Если да, как бы я поступил? Буду ли я получать и манипулировать строками электронной таблицы в onPerformSync или что-то в этом роде?
  2. Какими могут быть другие альтернативы для такого сценария? Должен ли я использовать обычную службу для проверки, когда пользователь ее запрашивает (например, в основной операции)?

В видеозаписях ввода-вывода Google (особенно в клиентских приложениях REST для Android ) они выглядят довольно убедительно при использовании SyncAdapter, но я не уверен, может ли это помочь мне без реальной службы REST.

Заранее спасибо ..

1 Ответ

1 голос
/ 29 июня 2012

Одной из веских причин для использования Android SyncAdapter, ContentProvider и SyncManager является то, что вы извлечете пользу из системных знаний Google, которые полезны для сохранения заряда батареи и других ресурсов.Часть этого контента есть в видео, на которое вы ссылаетесь.Например, экспоненциальная логика отсрочки для предотвращения расточительных попыток синхронизации.

В сегодняшней лекции Google I / O 2012 "Создание хороших приложений" содержится полезная информация о сохранении ресурса батареи благодаря экономии энергии сотовой связи.Отлично: более продвинутые темы для опытных разработчиков Android. " Хотя это и не упомянуто явно, я думаю, что SyncManager, скорее всего, будет обладать свойствами сохранения энергии аккумулятора, которые упомянуты в этом видео.

Основано на моихпри чтении (на самом деле ничего не реализующем) API-интерфейсов и других ресурсов, таких как пакет com.example.android.samplesync, кажется, что шаблон достаточно гибок для адаптации к потребностям вашей программы.

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

...