2

アプリケーションにデータがあり、ネットワークの可用性に基づいてサーバー上で更新する必要があります。このデータは、sqliteを使用してAndroidのローカルデータベースに保存します。現在のアイデアは次のとおりです。

  1. データはローカルのsqliteデータベースに挿入する必要があります
  2. サービスは、データが挿入されるとすぐにネットワークの可用性をチェックしてサーバーに送信し、成功応答を待つ必要があります。
  3. サーバーからtrueの応答を受信した場合、サーバーはそのsqlite行の同期ステータスを更新し、次の行に移動してデータを送信する必要があります。

このデータをキューに入れてサーバーに送信する最善の方法を見つけたかったのですが、さらに、ネットワークが利用できない場合、このキューはサーバーへのデータの送信を停止する必要があります。javaには多くのキューがありますので、このデータを保持するのに最適なキューはどれですか。データは任意の無限のサイズに拡大する可能性があるためです。これは生産者/消費者問題のようなものですが、それに対処するための最も効率的な方法は何ですか。

前もって感謝します。

4

1 に答える 1

0

このデータが既にローカル データベースに格納されているのに、なぜこのデータをキューに格納するのでしょうか? アプリケーションがシャットダウンされ、キュー内のデータが失われるとどうなるかということです。ローカル データベースで新しいエントリをチェックするサービスを作成するだけです。新しいエントリがある場合は、それらを Web サーバーにプッシュしてみてください。

于 2013-02-19T07:47:49.303 に答える