8

SQLITE dbを使用しているモバイルデバイスでデータベースの更新に取り組んでいます.SQLITE dbは、サーバーがデータベース、つまりwampサーバーを更新すると更新されるはずです。
これを達成する方法について誰かが私に何かアイデアを提案できますか?
単一の更新または複数の更新のためだけにデータベース全体を読み取ると、データ使用量が増加するため、サーバーデータベース全体を読み取りたくありません。更新は製品テーブルで行われ、価格フィールドのみがサーバー側によって更新されます。

4

1 に答える 1

7

サーバーデータベースに更新されたデータがあるかどうかを定期的に尋ねるサービスをアプリで定義できます。サーバー側では、現在の日付、更新を確認するテーブル名、および目的に基づいたその他の情報を入力するjsonオブジェクトを受信するWebサービスを実装できます。例を挙げて説明します。1)アプリが起動すると、バックグラウンドサービスも開始されます。このサービスは、指定されたテーブルに新しい更新があるかどうかを確認するために、(たとえば3分ごとに)Webサービスにクエリを実行します。2)Webサービスは、確認するテーブル名と日時をUNIXタイムスタンプで受け取ることができます。たとえば、2012-08-2022:00:00以降にテーブル"products"の新しいレコードがあるかどうかを確認したいとします。アプリ内でこの情報を使用してjsonオブジェクトとhttpリクエストを作成し、サーバー側に渡すことができます。3)Webサービスは、2012-08-2022:00:00以降に追加または変更されるすべてのデータを含むjson配列を提供することで応答します。もちろん、サーバーデータベースにはこの情報を保存する必要があります(基本的に、各レコードには最初の挿入/最後の変更の日時を含むフィールドがあります)
4)その後、ローカルのsqliteデータベースを更新できます。

おそらくこれはあまり効率的ではありませんが、機能します。

アンドレア

于 2012-08-20T21:52:50.310 に答える