我对Java和Android编程很陌生,所以请原谅一些问题:)我在使用volley和onResponse函数时遇到了麻烦。这是我的源代码:
static void makeJsonObjReq(JSONObject test) {
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
Const.URL_JSON_OBJECT, test,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
//separateResponse(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
}
})};
这对我有用。这就是我调用此类请求的方式:
JsonRequestActivity.makeJsonObjReq(test);
我遇到的问题是,我必须做很多具有不同响应行为的请求。
问题:
如何为此类重写甚至创建新的onResponse行为?我可以调用JsonRequestActivity.makeJsonObjReq(test);
这个并且只需要重写onResponse部分就像这样:
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
do sth here...
}
以及其他函数中的请求:
JsonRequestActivity.makeJsonObjReq(differentobject);
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
if(...)
do other things here
}
这可能吗?或者我是否必须为不同的onRepsonse行为创建JsonRequestActivity.makeJsonObjReq的许多功能?
我还有一个问题:当我尝试使用JsonRequestActivity.makeJsonObjReq
时,是//separateResponse(response);
中的性能调用函数泄漏了吗?因为凌空是如何工作的(线程等)?
消息来源:http://www.androidhive.info/2014/05/android-working-with-volley-library-1/