모든 액티비티가 사용할 애플리케이션 시작시 데이터를로드하고 싶습니다. 응용 프로그램의 onCreate 메서드에서이 작업을 수행하고 어떤 활동이 표시되기 전에이 데이터를 다운로드하기를 원하기 때문에 RequestFuture를 사용하여 동기 요청을 시도합니다. 그러나 TimeoutException 항상 throw됩니다.Android Volley RequestFuture 항상 시간 초과
public void onCreate() {
super.onCreate();
appRequestQueue = Volley.newRequestQueue(this);
RequestFuture<JSONArray> requestFuture = RequestFuture.newFuture();
JsonArrayRequest request = new JsonArrayRequest(
URL,
requestFuture,
requestFuture);
appRequestQueue.add(request);
try {
JSONArray jsonArray = requestFuture.get(90, TimeUnit.SECONDS);
// Do processing. Never gets here
Log.v("*******************", "Application initialized");
} catch (JSONException je) {
} catch (InterruptedException ie) {
} catch (ExecutionException ee) {
} catch (TimeoutException te) {
// Always times out
Log.v("$$$$$$$$$$$$$$$$$$$$$$$$$", "It has timed out...");
}
처음 시작되어 아무도 활동이 없다는 것을 염두에두고 응용 프로그램 전반의 데이터 유지를 얻을 수있는 가장 좋은 방법은 무엇입니까 ?
문제를 확인할 수 있었습니까? – bks4line
재시도 정책을 시도하고 기본 시간 초과 값을 늘리셨습니까? – Tasneem