私には2つのテーブルがSyncedComments
ありQueuedComments
、後者はWebサーバーと同期されるまでローカルコメントを保持します。同期が成功すると、同期されたテーブルに配置されます。アプリケーションは各タイプに依存しないはずです。CursorLoaderを介してコメントをロードすると、ユーザーがコメントを読んでいる間に、同期されたテーブルに移動される可能性があります。たとえば、ユーザーがコメントを移動しているときに編集することもできるため、アプリケーションは、テーブルに関係なく、コメントの場所を認識している必要があります。
これをサポートするために、local_id、synced_id、queued_idの3つの列を持つテーブルを作成することを考えました。local_idは永続的であり、他の2つのIDのいずれかへの参照として機能します。コメントが作成されると、sync_idがNULLに設定され、キューIDが指定された新しい行が挿入されます。コメントが移動されると、queue_idがNULLに設定され、sync_idが設定されます。このように、私のアプリケーションは常にローカルIDを参照するだけで済みます。
このソリューションはどのように見えますか?何か欠陥はありますか?もっと賢くできますか?