【发布时间】:2018-05-20 08:12:40
【问题描述】:
我必须在我使用 Volley 的多个课程中调用 web 服务。那么我应该在 onresponse 方法中做什么来触发另一个类的响应? 我想让 syncData 作为我所有类的通用函数。
public String syncData(Context mContext, String url) {
try {
RequestQueue queue = Volley.newRequestQueue(mContext);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
jsonResponse=response.toString();//what I should do here to trigger another class that responds achieved
} catch (Exception e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
try {
Log.e("Response", "error");
// updateForecastUI(isCentigradeType);
} catch (Exception e) {
e.printStackTrace();
}
}
});
jsonObjectRequest.setRetryPolicy(new DefaultRetryPolicy(
Constants.MY_SOCKET_TIMEOUT_MS,
Constants.MAX_RETRY,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
jsonObjectRequest.setShouldCache(false);
queue.add(jsonObjectRequest);
} catch (Exception e) {
e.printStackTrace();
}
return jsonResponse;
}
【问题讨论】: