2

SQLite关于在我的应用程序的数据库、用户的数据库Calendar和网络服务器之间同步数据,我有一个相当复杂的问题。

这本质上是我需要的行为:

onResume(): any on any上的任何修改Events都会导致我的应用程序数据库中的更新。CalendarAccountSQLite(当然,只有Account用户指定)。

我现在正在写的是SQLite用每个事件更新我数据库中的每个条目Calendar,无论它是否在onResume(). 当然,这并不理想。

我已经能够将所有事件提取到我的应用程序的SQLite数据库中,并在我的数据库和我的网络服务器之间进行同步。主要问题是我的SQLite数据库和Calendar. 从我的研究中,我了解到,DIRTY如果您实现自己的,则只能写入日历上的标志SyncAdapter。这也需要我实现一个ContentProvider我想避免的。所以我的问题是:

  1. 是否有任何可靠的方法可以在Calendar不实现 SyncAdapter 的情况下查看修改后的事件?
  2. 如果没有,是否可以保证我能够DIRTY为我的应用程序维护自己的标志?我知道 Google 使用该DIRTY标志将Calendars 与 Google 日历同步。如果 Google 日历不断设置和重置此标志,它不会帮助我维护我的应用程序。
  3. 是否有针对此类问题的推荐设计方法,否则我会忘记这些方法?例如另一种为每个保留“last_modified”类型标志的方法Calendar Event

干杯。

编辑:我还应该补充一点,我现在的应用程序针对的是 Android 4.0+,但我希望将来支持所有版本。

4

0 回答 0