![](/img/trans.png)
[英]How to return or reuse response value of Volley library in android studio?
[英]How to return single integer value from Volley in Android?
我正在尝试使用 Volley 获取单个整数值。
在这个例子中,数字是 14
在调试器中,我得到正确的值14并将它分配给 vNumber,而在 try/catch 块中,但是当我尝试返回 vNumber 时,我得到的值为0作为返回的数字。
这是 JSON 结果。
{"result":[{"version":"14"}]}
下面是这个函数的代码:
int vNumber; public int getVersionNumber() { StringRequest stringRequest = new StringRequest(Request.Method.POST, GET_VERSION_NUMBER, new Response.Listener<String>() { @Override public void onResponse(String response) { try { JSONObject object = new JSONObject(response); JSONArray jsonArray = object.getJSONArray("result"); JSONObject jsonObject = jsonArray.getJSONObject(0); vNumber = jsonObject.getInt("version"); } catch (JSONException e) { e.printStackTrace(); Log.d(TAG, "JSONException: " + e); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.d(TAG, "VolleyError: " + error); } }); RequestQueue requestQueue = Volley.newRequestQueue(context); requestQueue.add(stringRequest); return vNumber; }
我已经尝试使用 sharedPreferences 并将值放在 textView 中(当我在 textView 中设置它时该值是正确的),然后从中获取它,但它仍然无法正常工作。 我可以在本地数据库中创建一个新表并保存数据,但在此用例中没有必要。
您对如何返回正确的值有什么建议,我在这里做错了什么?
干杯
public void fetchVersionNumber() {
StringRequest stringRequest = new StringRequest(Request.Method.POST, GET_VERSION_NUMBER,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject object = new JSONObject(response);
JSONArray jsonArray = object.getJSONArray("result");
JSONObject jsonObject = jsonArray.getJSONObject(0);
vNumber = jsonObject.getInt("version");
compareAndUpdate(vNumber)
} catch (JSONException e) {
e.printStackTrace();
Log.d(TAG, "JSONException: " + e);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d(TAG, "VolleyError: " + error);
}
});
RequestQueue requestQueue = Volley.newRequestQueue(context);
requestQueue.add(stringRequest);
}
public void compareAndUpdate(int vNumber){
//compare and do your operation
// Get from sharedPref and compare
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.