2016-07-11 6 views
0

phpファイルを実行してデータベースに接続し、データを変更するアプリケーションを開発中です。アプリケーションアップデートの処理(AlarmManager)

データベースやPHPファイルを変更する必要がある場合、これにより古いバージョンのアプリケーションが予期せず動作しクラッシュする可能性があります。このため、私はのユーザーにの更新のような変更を加えてもらいたいと思っています。

今、私はデータベースに接続し、アプリケーションのバージョンとデータベースのバージョンを比較する方法があります。これは正常に動作しますが、データベースにアクセスするたびに(非常に頻繁に)呼び出すため、アプリケーションの使用が大幅に遅くなります。これを行うより良い方法はありますか?私はAlarmManagerまたはBroadcastReceiverを使用して、X時間ごとに更新をチェックできると読んでいます。しかし、ユーザーが数日間アプリを閉じて使用しないとどうなりますか?これらのタイマーは、ユーザーがアプリを起動するとすぐに呼び出され、更新を強制することができますか?

答えて

2

Android AlarmManagerは、Android Alarm Serviceとの通信やアラームのプログラミングを可能にするAPIです。 Linux Cronの仕事に似ていると考えてください。アラームがプログラムされるとすぐに、アラームはあなたのアプリではなくアラームサービスによってトリガされるため、あなたのアプリが実行されていなくてもトリガされます。たとえば、アラームをプログラムするだけです。デバイスを再起動するとアラームがクリアされるので、再起動するたびに再プログラムする必要があることに注意してください。 BOOT_COMPLETEDブロードキャストをキャプチャすることでこれを行うことができるので、デバイスが起動するたびにアラームを再設定できます。 Android AlarmManagerの定義を確認してください。あなたが望むことを行うための一般的なパターンは、ブロードキャストを送信する、またはサービスを開始するアラームをプログラムすることです。そのサービスでは、サーバーに問い合わせることができます。デバイスがスリープしているときにアラームを送信できなかったので、wakelocksで作業する必要があると考える必要があります。このクラスは、check it outでお手伝いします。

+0

ありがとうございました。この方法の使用を検討します。 – tem887

関連する問題