内部にこのようなループを含む Async タスクを作成することをお勧めしますか?
while (true) {
check queue and request API
アクティビティを待つ必要があり、サービスが APi と通信する必要があるためです。
ありがとう
内部にこのようなループを含む Async タスクを作成することをお勧めしますか?
while (true) {
check queue and request API
アクティビティを待つ必要があり、サービスが APi と通信する必要があるためです。
ありがとう
API への重要な呼び出しを最初に選択するために、優先キューがあります。
私のプログラムには2つのサービスがあります:
メッセージがキューに追加されると、API が呼び出されます。API の呼び出しは、Asinc タスクによって次のように行われます。
messages.add(request);
new DownloadApiTask().execute();
他のサービスがローカル データベースを更新しています。そのために、API からデータを取得するために最初のサービスを呼び出すループがあります。基本的な構造は次のとおりです。
while i
アップロードするデータがある
mFirstService.putMessage(リクエスト)。
問題は、X 呼び出しごとに拒否された実行例外があることです。メッセージを受け取るたびに asinc タスクを呼び出すことが原因である可能性があると思います。
そのために、実行する代わりにキューをチェックする asinck タスクに強制的に考えていました。
私の問題を理解していただければ幸いです。
ありがとう
「キュー」は Java キュー、おそらくLinkedBlockingQueue
. その場合、そのキューは不要でAsyncTask
あり、スレッド プールと一緒に使用するキューもあります。
では、問題は次のとおりです。キューに入るトリガーは何ですか?
トリガーがユーザー イベント (メニューの選択、ボタンの押下など) である場合は、単に を起動させるAsyncTask
か、または をService
起動させAsyncTask
ます。その作業はシステムによってキューに入れられAsyncTask
ます。
トリガーが時間の経過である場合 (たとえば、外部サーバーを 10 分ごとにチェックしたい場合)、 と をからにAlarmManager
切り替えることを検討します。AsyncTask
Service
IntentService