こんにちはアンドロイドでは、ユーザーに干渉することなく、アプリの実行中に30秒ごとにサーバーにリクエストを送信する必要があります。サービスまたはスレッド、または新しいスレッドを持つサービスでこれを行うことをお勧めしますか?
乾杯
こんにちはアンドロイドでは、ユーザーに干渉することなく、アプリの実行中に30秒ごとにサーバーにリクエストを送信する必要があります。サービスまたはスレッド、または新しいスレッドを持つサービスでこれを行うことをお勧めしますか?
乾杯
サービス:サービスは、ユーザーとの対話を行わずに長時間実行される操作を実行したいというアプリケーションの要求を表すアプリケーション コンポーネントです。
Whilethread
は同時実行単位です。目的のために両方を使用でき、別のオプションはRunnable
、Handler
30 秒ごとに操作またはコードを呼び出すことができる場所です。
AlarmManager
(Chaituが言ったように)と同様にチェックしてくださいIntentService
。
Service を使用することをお勧めします。AlarmManagerを使用してサービスを呼び出します。サービスでは、サーバーにリクエストを送信するためのコードを記述します。
単純な Service ではなくIntentServiceを記述し、その中に静的メソッドを記述して、バックオフ時間 30 秒でサーバーにリクエストを送信し、アクティビティでサービスを開始することをお勧めします。
1 つのスレッドを作成するのではなく、Service を使用することをお勧めします。Android デベロッパー サイトには次のように記載されています。
サービスは、他のアプリケーション オブジェクトと同様に、ホスティング プロセスのメイン スレッドで実行されることに注意してください。これは、サービスが CPU 集中型 (MP3 再生など) またはブロック (ネットワークなど) 操作を行う場合、その作業を行う独自のスレッドを生成する必要があることを意味します。詳細については、プロセスとスレッドを参照してください。IntentService クラスは、実行する作業をスケジュールする独自のスレッドを持つ Service の標準実装として利用できます。
サービスは UI スレッドで実行されるため、サーバーに対して 30 秒ごとに要求を行う新しいスレッドをサービスに作成する必要があります。
これが役立つことを願っています。