5

私が探しているのは、非同期タスク内の多数のスレッドを管理する方法を見つけることです。

ローカル データベースをサーバーの更新と同期する必要があります。これは、ページングを使用して取得できる大きなデータである可能性があります。

すべてのスレッドが完了するまで進行状況ダイアログを表示できるように、非同期タスク内のループでスレッドの生成を管理するための推奨される方法を教えてください。

サーバーからデータをダウンロードしてローカルデータベースに保存/更新するために、さまざまなスレッドの実行中にローカルデータベースオブジェクトとその同期について少し心配しています。

注: 1 回のサーバー呼び出しでサーバーからすべてのデータをダウンロードすることはできません。

前もって感謝します。

4

2 に答える 2

2

長時間実行される操作の場合は、AsyncTask の代わりに IntentService を使用する必要があります。IntentService は UI に依存しないため、バックグラウンドで実行できます。UI を更新するには、ブロードキャスト インテントを送信します。DB 同期には IntentService を使用します。サーバーからデータを取得し、解析中にバッチ更新を作成してから、1 つのバッチ更新でローカル DB を更新します。

于 2013-04-06T11:23:00.877 に答える
0
Try this ,    

You can set a static variable that is initialized to zero, and it is incremented 
by each thread .check this variable in asynctask,if it is equal to the no: of threads 
in your class finish it.Simple But works
于 2013-04-06T11:31:20.903 に答える