0

JSON 応答があり、

基本的にカテゴリのリスト

[{event_cat_id: "1", event_cat_name: "Sport" 
}, { event_cat_id: "25", event_cat_name: "Cinema" }]

ID を使用して、サーバーにクエリを実行してイベントのリストを取得します。

送り返されたすべてのイベントは、ローカル DB に保存されます。

私の問題は、カテゴリのリストが変更される可能性があることです。サーバー上の更新を確認する最善の方法を知りたいです。

ビューがクリックされるたびにリクエストを送信できますか? それはユーザーエクスペリエンスに影響しますか?

アンドロイドでのビルド

4

3 に答える 3

1

サーバー側では、レコードが利用可能な場合、各レコードとプロパティの最終更新のタイムスタンプを保持します

id: 25, name: Cinema, available: 1, timestamp: 1342777317
  1. サーバーの現在時刻を取得する
  2. 最後の同期時間以降に変更されたサーバーからデータを取得する
  3. データを解析してローカル データベースに保存する
  4. 1. ポイントからのサーバー時刻を最終同期時刻として書き込みます

タイムスタンプ以降に変更されたサーバー上のデータをクエリするのは簡単です。最初の同期では、最後の同期時間は単純に 0
です。サーバー側でレコードを削除することはできません。レコードを使用不可として設定できます。available: 0

于 2012-07-20T11:32:19.683 に答える
0

AlarmManagerを使用して、サーバーリクエストを起動する不正確な繰り返しイベントを設定できます。これにより、情報が頻繁に更新されますが、バッテリーを節約できます。サービスまたはintentserviceを使用して、バックグラウンドスレッドでサーバーの要求と応答をトリガーする必要があります。何かが変更されるとすぐに、データベースのブロードキャストまたはContentObserverを使用してアクティビティを通知できます。

これが良い例ですhttp://www.dotkam.com/2011/01/10/android-prefer-alarms-and-intent-receivers-to-services/

于 2012-07-20T09:44:18.747 に答える
0

Whatever I understand from that, I would like to suggest you to use C2DM Push notification whenever any updates or category available on server database. it will push message to device and device code will try to pull the data from server url.

by this way every time user device can not ping to server and it will reduce the load from server as well as save battery(drain battery) of device.

于 2012-07-20T10:11:33.340 に答える