비동기 작업에 대한 요청을 실행할 필요가 없습니다.
이유 :
그들은 별도의 스레드에있는 모든 네트워크 관련 작업을 관리 할 수 있습니다. 라이브러리 프로젝트를 자세히 보면 비동기 작업을 알 수 없습니다. 그러나 그들은 지능적으로 모든 네트워크 관련 작업을 효율적으로 처리합니다.
확인 RequestQueue.java Volly의 기본 패키지 여기
내가 자바 문서를 붙여 넣기하고있는 클래스입니다.
/**
* A request dispatch queue with a thread pool of dispatchers.
*
* Calling {@link #add(Request)} will enqueue the given Request for dispatch,
* resolving from either cache or network on a worker thread, and then delivering
* a parsed response on the main thread.
*/
편집 : 요청 형성
: 발리슛
는, 네트워크 통신이 RequestQueue에 의해 관리된다. RequestQueue와 모든 도구, 특히 캐시를 활용하는 가장 좋은 방법은 한 번 인스턴스화하고이를 싱글 톤으로 유지하는 것입니다. 이 시점에서 요청을 추가 또는 취소하고, 요청을 중지 또는 시작하고, 응답 캐시에 액세스 할 수 있습니다.
RequestQueue queue =Volley.newRequestQueue(this);
일단 RequestQueue가 인스턴스화되면 요청이 형성되어야합니다. 이는 발리 라이브러리에 포함 된 몇 가지 "기본 제공"요청 클래스를 활용하거나 발리의 요청 클래스를 사용자 정의 요청으로 확장하여 수행 할 수 있습니다. Volley에 이미 포함 된 요청 클래스는 String 요청, JSON 요청 및 이미지 요청입니다. Volley 라이브러리에 포함 된 대부분의 요청 클래스는 아래와 같은 생성자를 사용합니다.
매개 변수는 생성자에 전달되는 :
RequestMethod (,, 게시물을 얻을 삭제, 요법) * 된 JSONObject 귀하의 요청으로 게시됩니다 * -an 옵션 객체 ResponseListener - 요청이 완료된 후 데이터가 처리되는 곳 ErrorListener - 요청에 문제가있을 때 알려주는 내용.
성공적인 응답 리스너
private class ResponseListener implements Response.Listener{
@Override
public void onResponse(JSONObject response){
}
}
오류 응답 리스너
private class ErrorListener implements Response.ErrorListener{
@Override
public void onErrorResponse(VolleyError error){
}
}
:
Listners
JsonObjectRequest request = JsonObjectRequest(Requestmethod, url, null, new ResponseListener(), new ErrorListener());
는 응답을 수신하기3210 마지막으로 요청 큐에 요청을 추가하면 everithing volly의 나머지가 처리됩니다.
만들기 전화 : 이제
, 우리는 우리의 요청 및 응답 클래스를 만든 것을 우리가 데이터를 큐에 요청을 추가하고 검색 할 준비가되어 있습니다. 그렇게하기 위해서 우리는 단순히 요청을 큐에 추가합니다.
queue.add(request);
응답 또는 오류는 요청에서 정의한 응답/오류 클래스로 전달됩니다. 한 번에 원하는 대기열에 많은 요청을 추가 할 수 있으며 응답은 해당 응답/오류 클래스에 전달됩니다.
이미 백그라운드에서 '비동기 적으로 발생합니다.' ** 비동기 태스크 (AsyncTask)가 필요 없습니다. ** –