Web サービスを介して Android アプリケーションによって操作される postgreSql データベースがあります。アプリケーションをオフライン モードにする最適な方法を教えてください。
私の最初のアイデアは、デバイスが Web にアクセスできないときに使用されるsqlite ローカル データベースを作成することでした。
デバイスが Web にアクセスできるようになると、既存の postgres データベースとの同期が容易になる既存のツールがあるかどうかを知りたい
Web サービスを介して Android アプリケーションによって操作される postgreSql データベースがあります。アプリケーションをオフライン モードにする最適な方法を教えてください。
私の最初のアイデアは、デバイスが Web にアクセスできないときに使用されるsqlite ローカル データベースを作成することでした。
デバイスが Web にアクセスできるようになると、既存の postgres データベースとの同期が容易になる既存のツールがあるかどうかを知りたい
ここでは、これに関するいくつかの非常に基本的な考えを示します。
理想的なケースでは、一般的な作業メタデータを同期し、オフライン モードでは、そのメタデータに基づいて新しいデータを追加する挿入のみのワークフローを許可します。これにより、Web サービスに順番に投稿し、データベースでそのようにフラグを立てるか、行を完全に削除するだけで、後で物事を同期するのがかなり簡単になります。
そのようなものを使用する場合、おそらく sqlite を rdbms として扱いたくないでしょう。おそらく必要なのは、保留中の要件を格納するために主に設計された幅の広いテーブル構造、または後で送信する json ペイロードなどを格納するものです。これは、ローカル データベースがデータ モデルではなく Web サービス API を中心に設計されることを意味します。
更新 (ワークフローの上書き) を行う必要がある場合は、競合の解決に多大な労力を費やす必要がありますが、基本的には同じことが当てはまります。おそらく、タイムスタンプやその他の競合解決関連のデータなど、さらに多くの情報を追加したいと思うでしょう。
ただし、そこから、同期を行うための特定のツールを探すのではなく、アプリケーション API を再利用して同期を行うことができるはずです。