私に助けていただけると感謝しています。私は以下の問題を抱えています:Androidのボレー - すべてのリクエストが完了したときにコールバックを受け取る
SyncAdapterを使用して、定期的かつ手動でローカルデータベースをサーバーデータと同期させるアプリケーションがあります。しかし、ユーザーがアプリケーションにただちにログインしようとしているときは、ロードダイアログが表示されている間に手動同期が実行されている必要があります。同期が完了したら、ダイアログを非表示にしてメインアクティビティを表示する必要があります。何をお勧めしますか?
私は、HTTPリクエストを処理するためにvolleyを使用しています。私はちょっと混乱しています。要求は常に非同期的に実行されるため、すべての要求が終了してダイアログを非表示にするのを知ることは難しいです。次のように
コードは次のとおりです。私の英語レベルについて
VolleySingleton.getInstance(getContext()).addToRequestQueue(
new JsonObjectRequest(
Request.Method.GET,
Constants.GET_URL,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// This method sync the data
updateLocalData(response, syncResult);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
getContext().sendBroadcast(new Intent(Constants.SYNC_CORRUPTED_BY_SERVER));
Log.d(TAG, "Sync (makeLocalSync), Exception => " +
error.getLocalizedMessage());
}
}
)
);
申し訳ありません...
ありがとう!
後で "n"リクエストがあるとします。その他 "n" VolleySingleton.getInstance(getContext())。 AddToRequestQueue(... –