void enqueue(Request<?> request) { queue.add(request); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); queue.addRequestFinishedListener(listener); queue.addRequestFinishedListener(listener2); queue.start(); queue.add(request); verify(listener, timeout(100)).onRequestFinished(request); verify(listener2, timeout(100)).onRequestFinished(request); queue.stop(); }
RequestQueue requestQueue = Volley.newRequestQueue(getActivity()); CustomRequest jsObjRequest = new CustomRequest(Method.POST, url, params, this.createRequestSuccessListener(), this.createRequestErrorListener()); requestQueue.add(jsObjRequest);
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); queue.addRequestFinishedListener(listener); queue.addRequestFinishedListener(listener2); queue.start(); queue.add(request); verify(listener, timeout(100)).onRequestFinished(request); verify(listener2, timeout(100)).onRequestFinished(request); queue.stop(); }
RequestQueue mRequestQueue = Volley.newRequestQueue(getApplicationContext()); JsonObjectRequest request = new JsonObjectRequest(Method.GET, cityListUrl, null, new Listener<JSONObject>() { public void onResponse(JSONObject jsonResults) { //Any Call } }, new ErrorListener(){ public void onErrorResponse(VolleyError arg0) { //Any Error log } } ); int socketTimeout = 30000;//30 seconds - change to what you want RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT); request.setRetryPolicy(policy); mRequestQueue.add(request);
/** * Verify RequestFinishedListeners are informed when request errors * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerError() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); when(mMockNetwork.performRequest(request)).thenThrow(new VolleyError()); queue.addRequestFinishedListener(listener); queue.start(); queue.add(request); verify(listener, timeout(100)).onRequestFinished(request); queue.stop(); }
/** * 请求和请求参数 加入到Volley Request请求队列中 * @param request * @param params */ protected void addRequest(Request request,Map<String,String> params){ //请求中添加 请求参数 request.setParams(params); requestQueue.add(request); }
/** * Verify RequestFinishedListeners are informed when request errors * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerError() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); when(mMockNetwork.performRequest(request)).thenThrow(new VolleyError()); queue.addRequestFinishedListener(listener); queue.start(); queue.add(request); verify(listener, timeout(100)).onRequestFinished(request); queue.stop(); }
JSONObject obj = new JSONObject(); obj.put("id", "1"); obj.put("name", "myname"); RequestQueue queue = MyVolley.getRequestQueue(); JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.POST,SPHERE_URL,obj, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { System.out.println(response); hideProgressDialog(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { hideProgressDialog(); } }); queue.add(jsObjRequest);
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); when(mMockNetwork.performRequest(request)).thenAnswer(delayAnswer); queue.addRequestFinishedListener(listener); queue.start(); queue.add(request); request.cancel(); verify(listener, timeout(100)).onRequestFinished(request); queue.stop(); }
@Override public void loadData(@NonNull Priority priority, @NonNull DataCallback<? super InputStream> callback) { request = requestFactory.create(url.toStringUrl(), callback, glideToVolleyPriority(priority), url.getHeaders()); requestQueue.add(request); }
queue.add(postRequest);
/** * Converts the Asynchronous Request into a Synchronous Future that can be used to block via * {@code Future.get()}. Observables require blocking/synchronous functions * * @return JSONObject * @throws ExecutionException * @throws InterruptedException */ private JSONObject getRouteData() throws ExecutionException, InterruptedException { RequestFuture<JSONObject> future = RequestFuture.newFuture(); String url = "http://www.weather.com.cn/adat/sk/101010100.html"; JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET, url, future, future); MyVolley.getRequestQueue().add(req); return future.get(); }
public void query(Query query) { if (lastQueryResult != null && lastQueryResult.query.equals(query)) { for (QueryListener listener : queryListeners) { listener.onSearchCompleted(lastQueryResult.query, lastQueryResult.results); } return; } FlickrQueryResponseListener responseListener = new FlickrQueryResponseListener(new PhotoJsonStringParser(), query, queryListeners); StringRequest request = new StringRequest(Request.Method.GET, query.getUrl(), responseListener, responseListener); request.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS, 3, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); requestQueue.add(request); }
@Override public void onRefresh() { GsonRequest request = new GsonRequest<SectionCharacters>(Constants.API.CHARACTERS, SectionCharacters.class, new Response.Listener<SectionCharacters>() { @Override public void onResponse(SectionCharacters characters) { mPageNum = 0; mAdapter.setList(characters.getCharacters(), characters.getSections().subList(0, mPageNum + 1)); swipeToLoadLayout.setRefreshing(false); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { swipeToLoadLayout.setRefreshing(false); volleyError.printStackTrace(); } }); App.getRequestQueue().add(request).setTag(TAG + "refresh" + mType); } }
@Test public void getWithCacheMiss() throws Exception { when(mImageCache.getBitmap(anyString())).thenReturn(null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); // Ask for the image to be loaded. mImageLoader.get("http://foo", listener); // Second pass to test deduping logic. mImageLoader.get("http://foo", listener); // Response callback should be called both times. verify(listener, times(2)).onResponse(any(ImageLoader.ImageContainer.class), eq(true)); // But request should be enqueued only once. verify(mRequestQueue, times(1)).add(any(Request.class)); }
@Override public void onLoadMore() { GsonRequest request = new GsonRequest<SectionCharacters>(Constants.API.CHARACTERS, SectionCharacters.class, new Response.Listener<SectionCharacters>() { @Override public void onResponse(SectionCharacters characters) { if (mPageNum < 3) { mPageNum++; mAdapter.append(characters.getSections().get(mPageNum).getCharacters()); }else{ Toast.makeText(getContext(), "Done", Toast.LENGTH_SHORT).show(); } swipeToLoadLayout.setLoadingMore(false); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { swipeToLoadLayout.setLoadingMore(false); volleyError.printStackTrace(); } }); App.getRequestQueue().add(request).setTag(TAG+"loadmore"); }
@Test public void getWithCacheMiss() throws Exception { when(mImageCache.getBitmap(anyString())).thenReturn(null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); // Ask for the image to be loaded. mImageLoader.get("http://foo", listener); // Second pass to test deduping logic. mImageLoader.get("http://foo", listener); // Response callback should be called both times. verify(listener, times(2)).onResponse(any(ImageLoader.ImageContainer.class), eq(true)); // But request should be enqueued only once. verify(mRequestQueue, times(1)).add(any(Request.class)); }
@Test public void cancelAll_onlyCorrectTag() throws Exception { RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 0, mDelivery); Object tagA = new Object(); Object tagB = new Object(); Request req1 = mock(Request.class); when(req1.getTag()).thenReturn(tagA); Request req2 = mock(Request.class); when(req2.getTag()).thenReturn(tagB); Request req3 = mock(Request.class); when(req3.getTag()).thenReturn(tagA); Request req4 = mock(Request.class); when(req4.getTag()).thenReturn(tagA); queue.add(req1); // A queue.add(req2); // B queue.add(req3); // A queue.cancelAll(tagA); queue.add(req4); // A verify(req1).cancel(); // A cancelled verify(req3).cancel(); // A cancelled verify(req2, never()).cancel(); // B not cancelled verify(req4, never()).cancel(); // A added after cancel not cancelled } }
@Override public void onRefresh() { GsonRequest request = new GsonRequest<SectionCharacters>(Constants.API.CHARACTERS, SectionCharacters.class, new Response.Listener<SectionCharacters>() { @Override public void onResponse(SectionCharacters characters) { mAdapter.setList(characters.getSections().get(0).getCharacters()); swipeToLoadLayout.setRefreshing(false); mPageNum = 0; } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { swipeToLoadLayout.setRefreshing(false); volleyError.printStackTrace(); } }); App.getRequestQueue().add(request).setTag(TAG+"refresh"); }