サービスを使ってリクエストをスケジュールする理由がわかりません。なぜなら、バレーはリクエストを別のスレッドで自動的に実行するからです。
リスナーを追加するだけで、両方のリクエストの結果を正常に受信できたかどうかを確認できます。
ボレーを使用してリクエストをスケジュールするとすぐに、リストからイメージを削除できます。それが成功した場合、あなたが望むように続けることができますが、失敗した場合は、あなたのリストに再び追加するだけです。
public static Request getImageUploadRequest(final String image) {
Response.Listener<T> responseListener = new Response.Listener<T>() {
@Override
public void onResponse(T response) {
// do whatever you like
}
};
Response.ErrorListener errorListener = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// put the image back onto the list
SomeClass.addImageToList(image);
}
};
return new JsonArrayRequest(Request.Method.GET, YOUR_URL, null, responseListener, errorListener); // Use any subclass of Request you like
}
たぶん、あなたはサーバのDBに格納されているファイルごとにハッシュを計算することができexistend画像のリストから削除AN要求を開始した場合、画像の新しいセットを送信するときは、デシベルでのものとハッシュを比較します...これはおそらく最善の解決策ではなく、私の心の中にあった最初のものです。 – David
ええ、私はそれを考えました。しかし、私はそのようなサーバーコードを変更したくありません。私はこの事件をアプリ自体から防ぎたい。 – user3282666
それでは、1つのファイルがサーバーに正常にアップロードされるたびに、次回はそれを覚えておくことができるたびに、イベントについてはどうでしょうか。だから多分リストから各画像をアップロードしてくださいonPostRequestリストから画像を削除して次の画像を続けてください – David