2016-04-14 3 views
0

私はAndroidでX時間ごとにサーバーをチェックする2つの方法を見たので、どちらの方が良いか尋ねたいと思います。5分ごとにサーバーを確認する

私のアプリケーションは、サーバーからHTMLページを要求しています。

最初のオプションは、スリープ時間が5分のサービスを実行することです。 2番目のオプションでは、ブロードキャスト受信者をトリガするインターバル時間が5分のアラームマネージャを設定します。

どちらの方が良いか、より良い方法があるかを教えていただけたらうれしいです。

ありがとうございます。

+0

です。あなたがアプリがユーザーに見えるときにのみ行う必要がありますか?私はhttps://developers.google.com/cloud-messaging/network-managerで試してみることをお勧めします – jakubbialkowski

+0

なぜサーバにpingを送信しないのですか? Quartzやcron4jのようなスケジューラーを使って5分のスリープ時間を実装することができます。 –

+0

ScheduledThreadPoolExecutorの使用 – Madhusudhan

答えて

2

私はAlarmManagerを使用し、アラームを5分ごとに設定し、BroadcastReceiverを使用してメッセージを受け取ることをお勧めします。

私の考えは、バックグラウンドでサービスを実行すると、OSがより多くのリソースを必要とする場合、サービスを停止し、他のアプリケーション用のリソースを取得しますが、アラームを使用すると、

チェックサーバーについては、thisマニュアルを参照してください。サーバーへの1回のポーリング要求で、少なくとも30秒間無線がアクティブになり、バッテリーが消費されます。だから、あなたの間隔や戦略を再考する必要があります。

もう1つ注意:サーバーに新しいデータがないかどうかを確認していて、変更があった場合に通知する場合は、Cloud Messagingを使用できます。ほとんどの処理はクラウドで行い、重要なデータをデバイスに送り返すだけです。より効率的です

+0

何が良いですか? 5分の間隔でアラームマネージャを使用するか、または5分ごとにアラームマンガを設定しますか? –

+0

@guybenhemoは、アラームを5分間隔で繰り返しオフにするように設定します – Pooya

1

私は@Pooyaに同意します。また、電話が再起動した場合にアラームが設定されるように、ブートレシーバーを実装する必要があります。ここで私がダウンロードしたサンプルアプリケーションはhttp://developer.android.com/shareables/training/Scheduler.zip

関連する問題