【发布时间】:2017-11-20 11:19:09
【问题描述】:
在我的项目中,我使用“Volley”库从我的服务器接收数据,我制作了返回 JSON 编码值的 PHP 文件,我想获取这些值并从中返回它们,而不仅仅是在 StringRequest 中处理它们,
我的代码是:
public static void getStatus(final String id, final Marker marker1)
{
// Tag used to cancel the request
String tag_string_req = "req_register";
temp="";
StringRequest strReq = new StringRequest(
Request.Method.POST,
"http://URL/file.php",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jObj = new JSONObject(response);
String status = jObj.getString("string");
temp = status;
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() {
// Posting parameters to getData url
Map<String, String> params = new HashMap<String, String>();
params.put("id", id);
return params;
}
};
// Adding request to request queue
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
}
如何从这个方法返回字符串“status”? (如果我将方法从 void 更改为 String,我仍然无法从 onResponse 内部返回任何值(idk 为什么......))?请向我解释为什么以及如何使它工作?
【问题讨论】:
-
只需在
onResponse中调用另一个方法,该方法接受您想要返回的任何内容
标签: java android json return android-volley