| オフラインデータの自動同期 | |
[ Data Receive Criteria ] プロパティを 'On Application Launch' または 'After Elapsed Time' に設定すると、アプリケーションのオフラインテーブルの初期化と更新が GeneXus によって実行されます。
サーバーのデータベースのレコードがローカルデータベースに初めてロードされることです。初期化は次のように実行されます:
- アプリケーションがデバイスにインストールされると、データベースが作成されます (同期の条件は関係ありません)。
- データベースの作成後に初期化処理が開始します。
この処理では、必要なデータがサーバーから取得され、ローカルデータベースに挿入されます。レコードに対して、オフライン データベース オブジェクトの [ Conditions ] エレメントでフィルタを適用できます。
- すべてのデータが同期されたら、ハッシュのセットもデバイスに保存されます。これらのハッシュによって、今後、テーブルに変更があったかどうかを特定できます。
この処理が完了したら、アプリケーションが使用できる状態になり、GeneXus オブジェクトを使用して通常どおりにローカルデータベースの読み取り、挿入、および更新が可能になります。
ローカルデータベースを更新する同期処理は、少なくとも次の条件を満たしている場合には自動的に呼び出されます:
受信処理では、サーバーが必要なデータと、各テーブルのデータのバージョンを示すハッシュのセットをデバイスに送信します。
これらのハッシュは、デバイスにローカルで保存され、デバイスに保存されているデータをサーバーが把握できるように、次の受信処理時に送信されます。
サーバーは、テーブルの新しいハッシュを計算し、変更があったテーブルの情報だけを送信します。変更がなかったテーブルの情報は送信されません。
[ Data Receive Granularity ] プロパティに応じて、テーブル全体 (条件の適用後) のデータ、またはデバイスのデータとの差分のいずれかがサーバーからデバイスに送信されます。
|
|
|
|
|