0

私はアンドロイドプログラミングの初心者です。データを独自に定義して時間を設定できるタイマープログラムを作成したいと考えています。

たとえば、サードパーティのプログラムを開始するのに 5 秒、停止するのに 10 秒を設定すると、バッテリーが指定した値 (100 から 90 パーセントと仮定) に減少するまでこのように時間を切り替えることができ、タイマーは 90 パーセントで停止します。

また、呼び出し開始と停止の時間のログデータも収集したいと思います。たとえば、午前 9 時に 5 秒間開始し、その後午前 9 時 15 分から 9 時 20 分に開始し、各レベルのバッテリーのパーセントも収集します。

画面をオフにしても、アンドロイドがスリープモードになるため、タイマーは実行中または停止しますか? 画面をオフにすると、ログは収集されますか? バックグラウンド プロセスで実行するには、プログラムをサービスとしてコーディングする必要がありますか?

チアーズボーイ

4

1 に答える 1

2

バックグラウンド操作を実行するには多くの方法がありますが、あなたの説明によると、TimerTask クラス + Timer を使用してバックグラウンド タスクをスケジュールするのが古典的なケースのようです。

http://developer.android.com/reference/java/util/TimerTask.html

また、このいくつかの例で、それをどのように扱うかを学ぶことができます:

http://thedevelopersinfo.wordpress.com/2009/10/18/scheduling-a-timer-task-to-run-repeatedly/

http://android.okhelp.cz/timer-task-timertask-run-cancel-android-example/

TimerTask を使用してスレッドを実行するにはどうすればよいですか?

タスクを相互に依存させ (一部のアクティビティのライブ サイクルにアタッチしない)、アプリケーションがバックグラウンドで実行される (アプリのアクティビティが実行されていない) 場合は、サービスからタイマー タスクを実行する必要があります。その場合 - 画面がオンかオフかは問題ではありません - タイマー タスクはスケジュールに従って作業を行います。

于 2012-06-17T19:42:40.540 に答える