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