Библиотека Android Volley: всегда ли нужно повторять Response.Listener и Response.ErrorListener

Я недавно начал использовать Android Volley в своем проекте. Обычная практика, упомянутая в большинстве уроков, заключается в том, чтобы использовать ее следующим образом:

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.GET,
            url, null,
            new Response.Listener<JSONObject>() {

                @Override
                public void onResponse(JSONObject response) {
                    // do something
                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    // do something.
                }
            });

Мой запрос - мы должны повторять этот код везде, где нам нужно сделать запрос. Я пытался вставить общий обработчик onResponse и onErrorResponse, создав вспомогательный класс:

public class CustomJSONObjectRequest extends JsonObjectRequest {
    private BaseResource resource;
    private String queryId;
    private String paramArgs;

    public CustomJSONObjectRequest(int method, String url, JSONObject 
                               jsonRequest, 
                               Response.Listener<JSONObject> listener,
                               final Response.ErrorListener errorListener, 
                               final Context ctx,
                               final BaseResource baseResource) {
    super(method, url, jsonRequest,
            new Response.Listener<JSONObject>() {
                 // some common code for all BaseResources
            },
            new Response.ErrorListener() {
                // some common code
            });
}

Но проблема с этим подходом заключается в том, что мне нужно передать каждую вещь в самом конструкторе, что заставляет меня чувствовать, что я делаю это неправильно. Например, если мне нужно передать некоторые параметры запроса для URL-адреса, мне нужно всегда передавать полный URL-адрес от вызывающей стороны, хотя у меня все еще может быть общая логика для генерации URL-адреса в одном месте.

Может кто-нибудь, пожалуйста, дайте мне знать, каков наилучший способ достижения чего-то подобного.

Ответы на вопрос(2)

Ваш ответ на вопрос