6

x分ごとにサーバーからデータを取得したい。情報に特定の情報が含まれている場合は、通知を作成したいと思います。アプリがバックグラウンドにあるとき、または電話がスリープ状態のときでも、このポーリングを実行したいと思います。Androidでのポーリングについていくつか質問があります。

  • それを行うための最良の方法は何ですか?
    IntentService、AlarmManager、その他のものを使用する必要がありますか?

  • どのくらいの頻度でデータをポーリングする必要がありますか?比較的頻繁に、たとえば10分ごとに保管したいと思います。

4

4 に答える 4

12

本当に必要な場合を除いて、継続的に実行するサービスを実行しないようにしているので、私はそれを好みAlarmManagerますが、それは実際にそれをどのように使用するかによって異なります。

それが私だったら私は(限られた説明に基づいて):-

  1. AlarmManagerたとえば10分で発砲するように設定します。
  2. アラームに応答して、データをポーリングするサービスを開始します。
  3. ポーリング後、さらに10分後に再び起動するように新しいアラームが設定されているはずです。
  4. サービスは自動的にシャットダウンします。
于 2012-08-02T14:20:23.137 に答える
1

Cloud to Device Messaging(C2DM)(iPhoneの世界ではプッシュ通知とも呼ばれます)のようなものを使用することをお勧めします

優れたチュートリアルはhttp://blog.mediarain.com/2011/03/simple-google-android-c2dm-tutorial-push-notifications-for-androidにあります。

于 2012-08-02T14:17:20.340 に答える
0

Handlerを使用してサーバーをリッスンできます。たとえば、コードを何度も実行するをチェックしてください

于 2012-08-02T14:10:28.460 に答える
-5

これを行うを作成できます thread。runメソッドでは、10分ごとにサーバーをポーリングするループを作成できます。

于 2012-08-02T14:21:37.183 に答える