SQLite关于在我的应用程序的数据库、用户的数据库Calendar和网络服务器之间同步数据,我有一个相当复杂的问题。
这本质上是我需要的行为:
onResume(): any on any上的任何修改Events都会导致我的应用程序数据库中的更新。CalendarAccountSQLite(当然,只有Account用户指定)。
我现在正在写的是SQLite用每个事件更新我数据库中的每个条目Calendar,无论它是否在onResume(). 当然,这并不理想。
我已经能够将所有事件提取到我的应用程序的SQLite数据库中,并在我的数据库和我的网络服务器之间进行同步。主要问题是我的SQLite数据库和Calendar. 从我的研究中,我了解到,DIRTY如果您实现自己的,则只能写入日历上的标志SyncAdapter。这也需要我实现一个ContentProvider我想避免的。所以我的问题是:
- 是否有任何可靠的方法可以在
Calendar不实现 SyncAdapter 的情况下查看修改后的事件? - 如果没有,是否可以保证我能够
DIRTY为我的应用程序维护自己的标志?我知道 Google 使用该DIRTY标志将Calendars 与 Google 日历同步。如果 Google 日历不断设置和重置此标志,它不会帮助我维护我的应用程序。 - 是否有针对此类问题的推荐设计方法,否则我会忘记这些方法?例如另一种为每个保留“last_modified”类型标志的方法
Calendar Event?
干杯。
编辑:我还应该补充一点,我现在的应用程序针对的是 Android 4.0+,但我希望将来支持所有版本。