私は必要なすべてのデータをダウンロードするためにサーバにいくつかのリクエストを行う必要があります。しかし、どのくらいの数のサーバーへの要求が必要なのか分かりません。だから私の最初の考えはそうのようなループでそれを行うことでした。データが不足している場合は、AsyncTaskを繰り返してください。
ArrayList<Item> goodItems = new ArrayList<Item>();
boolean isDone = false;
do{
new dataTask().getMyData(new myCallback() {
// ...some logic here...
});
}
while(goodItems.size() < 20 || isDone != true);
ループはそれまでは非同期タスクがコールバックで完了し、不要なタスクの多くを生成している待つことはありませんので、これは、動作しませんでした。
質問: 私は、タスクを再試行する必要がありますどのように多くの時間がわからない場合、私は、私が必要とするすべてのアイテムを持ってまで、データのダウンロードを再試行するための正しい方法でしょうか?
ループをAsyncTask内に置く –
Volleyのlib rary。これは、再試行ポリシーがそのままの状態で行われます。再試行回数と再試行間隔を設定できます。 – SripadRaj
また、サイドノート:|バイナリORであるなら、||代わりに論理ORを使用します。私はそれが擬似コードだと思います – rubenwardy