SQLite
アプリケーションのデータベース、ユーザーのデータベース、Calendar
および Web サーバー間のデータの同期に関して、かなり複雑な質問があります。
これは本質的に私が必要とする動作です:
onResume()
:変更されたEvent
s on any Calendar
on anyAccount
により、アプリケーションのSQLite
データベースが更新されます。(Account
もちろん、ユーザーが指定するだけです)。
私が今書いていることは、SQLite
データベース内のすべてのエントリをCalendar
イベントごとに更新することonResume()
です。もちろん、これは理想的ではありません。
すべてのイベントをアプリケーションのデータベースに取り込み、SQLite
データベースと Web サーバー間で同期することができます。主な問題は、SQLite
データベースとCalendar
. 私の調査によると、DIRTY
独自のフラグを実装する場合にのみ、カレンダーのフラグに書き込むことができると読みましたSyncAdapter
。ContentProvider
これには、回避したいを実装する必要もあります。だから私の質問は:
Calendar
SyncAdapter を実装せずに変更されたイベントを表示するための信頼できる方法はありますか?DIRTY
そうでない場合、アプリケーション用に独自のフラグを維持できることが保証されていますか?DIRTY
Google がフラグを使用してCalendar
を Google カレンダーと同期していることは知っています。Google カレンダーがこのフラグを継続的に設定およびリセットすると、アプリケーションの維持に役立ちません。- この種の問題に対して、私が気づかないような推奨される設計アプローチはありますか? それぞれの「last_modified」タイプフラグを保持する別の方法など
Calendar Event
?
乾杯。
編集:また、現在アプリケーションで Android 4.0+ をターゲットにしていることも追加する必要がありますが、将来的にはすべてのバージョンをサポートしたいと考えています。