Java 截击传递URL

Java 截击传递URL,java,android,jsoup,android-volley,Java,Android,Jsoup,Android Volley,并且多次使用相同的StringRequest,但使用不同的URL 另外,这里是我的AppCore.java: AppCore.getInstance("http://example.com/").addToRequestQueue(strReq); package app.android.volley; 导入android.app.Application; 导入android.text.TextUtils; 导入com.android.volley.Request; 导入com.android

并且多次使用相同的StringRequest,但使用不同的URL

另外,这里是我的AppCore.java:

AppCore.getInstance("http://example.com/").addToRequestQueue(strReq);
package app.android.volley;
导入android.app.Application;
导入android.text.TextUtils;
导入com.android.volley.Request;
导入com.android.volley.RequestQueue;
导入com.android.volley.toolbox.ImageLoader;
导入com.android.volley.toolbox.volley;
公共类AppCore扩展了应用程序{
公共静态最终字符串标记=AppCore.class
.getSimpleName();
私有请求队列mRequestQueue;
私有静态应用程序;
@凌驾
public void onCreate(){
super.onCreate();
mInstance=这个;
}
公共静态同步AppCore getInstance(){
回报率;
}
公共请求队列getRequestQueue(){
if(mRequestQueue==null){
mRequestQueue=Volley.newRequestQueue(getApplicationContext());
}
返回mrequest队列;
}
公共无效addToRequestQueue(请求请求,字符串标记){
//如果标记为空,则设置默认标记
请求setTag(TextUtils.isEmpty(tag)?tag:tag;
getRequestQueue().add(请求);
}
公共无效addToRequestQueue(请求请求){
要求设置标签(标签);
getRequestQueue().add(请求);
}
公共作废取消挂起请求(对象标记){
if(mRequestQueue!=null){
mRequestQueue.cancelAll(标记);
}
}
}
基本上,我尝试多次使用一个StringRequest,但使用不同的URL。


提前感谢。

您可以尝试以下方法(当然,您可以用
JSONObject
请求或
String
请求替换
JSONArray
请求):

makeJsonArrayRequest的主体可以如下所示:

VolleyResponseListener listener = new VolleyResponseListener() {
            @Override
            public void onError(String message) {
                // do something...
            }

            @Override
            public void onResponse(Object response) {
                // do something...
            }
        };

makeJsonArrayRequest(context, Request.Method.POST, url, requestBody, listener);
    public void makeJsonArrayRequest(Context context, int method, String url, String requestBody, final VolleyResponseListener listener) {
        JSONObject jsonRequest = null;        
        try {
            ...
            if (requestBody != null) {
                jsonRequest = new JSONObject(requestBody);
            }
            ...
        } catch (JSONException e) {
            e.printStackTrace();
        }

        JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(method, url, jsonRequest, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray jsonArray) {
                listener.onResponse(jsonArray);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                listener.onError(error.toString());
            }
        });

        // Access the RequestQueue through singleton class.
        MySingleton.getInstance(context).addToRequestQueue(jsonArrayRequest);
    }

您可以尝试以下方法(当然,您可以用
JSONObject
request或
String
request替换
JSONArray
request):

makeJsonArrayRequest的主体可以如下所示:

VolleyResponseListener listener = new VolleyResponseListener() {
            @Override
            public void onError(String message) {
                // do something...
            }

            @Override
            public void onResponse(Object response) {
                // do something...
            }
        };

makeJsonArrayRequest(context, Request.Method.POST, url, requestBody, listener);
    public void makeJsonArrayRequest(Context context, int method, String url, String requestBody, final VolleyResponseListener listener) {
        JSONObject jsonRequest = null;        
        try {
            ...
            if (requestBody != null) {
                jsonRequest = new JSONObject(requestBody);
            }
            ...
        } catch (JSONException e) {
            e.printStackTrace();
        }

        JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(method, url, jsonRequest, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray jsonArray) {
                listener.onResponse(jsonArray);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                listener.onError(error.toString());
            }
        });

        // Access the RequestQueue through singleton class.
        MySingleton.getInstance(context).addToRequestQueue(jsonArrayRequest);
    }
public interface VolleyResponseListener {
    void onError(String message);

    void onResponse(Object response);
}