Синхронизация Android с SQLite
-
09-12-2019 - |
Вопрос
Я делаю приложение-словарь, которое использует SQLite
.У меня есть единственная таблица, в которой хранятся пары иностранных слов и их переводы.Я хочу синхронизировать эта таблица с конкретной электронной таблицей в Гугл документы.
я нашел это потрясающая библиотека извлекать и манипулировать GoogleSpreadsheets
, так что, по крайней мере, я застрахован от этого.Но меня не устраивает синхронизация.Сейчас,
- Могу ли я использовать
SyncAdapter
чтобы выполнить эту синхронизацию между моимиSQLite
иGoogleSpreadsheet
?Если да, то как мне это сделать?Могу ли я получить и манипулировать строками электронной таблицы вonPerformSync
или что-то? - Какие могут быть другие альтернативы такому сценарию?Должен ли я использовать обычный сервис для проверки, когда пользователь ее запрашивает (например, в основном действии)?
В видеороликах Google I/O (особенно на Клиентские приложения Android REST ) они кажутся довольно убедительными для использования SyncAdapter
но я не уверен, сможет ли это мне помочь без реальной службы REST.
Заранее спасибо..
Решение
Одна веская причина использовать Android SyncAdapter
, ContentProvider
и SyncManager
заключается в том, что вы получите выгоду от знаний о системе Google, которые полезны для экономии заряда батареи и других ресурсов.Часть этого контента есть в видео, на которое вы ссылаетесь.Например, экспоненциальная логика отсрочки для предотвращения бесполезных попыток синхронизации.
В настоящее время имеется некоторая полезная информация о продлении срока службы батареи за счет экономии энергии сотовой радиосвязи. Выступление Google I/O 2012 "Как сделать хорошие приложения великолепными":Более продвинутые темы для опытных разработчиков Android». Хотя это и не упоминается явно, я думаю, что SyncManager
скорее всего, обладает свойствами экономии заряда батареи, упомянутыми в этом видео.
Основываясь на моем чтении (фактически ничего не реализующем) API и других ресурсов, таких как com.example.android.samplesync
пакет, кажется, что шаблон достаточно гибок, чтобы адаптироваться к потребностям вашей программы.
Команда, с которой я работаю, реализовала специальную синхронизацию для нашего приложения для Android, но могу вам сказать, что мы не рассматривали этот вариант, потому что мы стремились написать как можно больше логики для работы с WebView
.Я бы не советовал это делать, но это выходит за рамки данной статьи.