0

Adobe Air の SQLite によって提供される永続的なローカル ストレージを使用して、Adobe Air でデスクトップ アプリケーションを開発したいと考えています。行ベースの同期を実装したいので、そのためのアルゴリズムを作成しました (テーブルのタイムスタンプ フィールドを使用し、lastsynced タイムスタンプなどと比較します)。このアプリケーションにオフラインとオンラインの両方でアクセスできるようにしたい。オンラインの場合、ローカル データベースの新しく編集された行をオンライン データベース (MySQL) に同期したいが、アプリケーションがオフラインで使用されている場合は、編集されたすべての行をログに記録し、インターネット接続が回復したらすぐにすべて同期したいオフラインモードで編集された行をオンラインDBに。私はAdobe Airを初めて使用するので、データをSQLiteに保存したら、誰でもガイドできますか? 目的の行をオンライン DB に送信/同期するにはどうすればよいですか? そのためのライブラリまたは API を提案してもらえますか? また、クライアント エンドで SQlite を使用し、サーバー エンドで MySQL を使用している場合、問題は発生しますか? ガイドしてください。ありがとう。

4

1 に答える 1

0

ローカル データベースに、is_created、is_updated、is_deleted の 3 つのフラグ フィールドを追加します。値は 0 または 1 です。リモート データベースから取得する行については、3 つのフィールドすべてを 0 に設定します。

ローカル行を編集するときは、is_updated を 1 に設定します。新しいローカル行を作成するときは、is_created を 1 に設定します。再びオンラインになったら、ローカル データベースから is_created、is_updated、または is_deleted フラグが 1 に設定されているすべての行を取得します。それらをリモート データベースと同期してから、ローカル データベースからフラグをクリアします。

于 2013-02-05T10:45:42.300 に答える