Получить изменения в контент-провайдере - PullRequest
1 голос
/ 02 мая 2011

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

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

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

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

Есть ли более простой способ сделать это?

Спасибо, Гиллис

1 Ответ

0 голосов
/ 02 мая 2011

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

Запрос будет настолько дешев, что выможет повторять это каждую секунду или около того.

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

...