我是android studio的新手,我将使用排球库从服务器获取数据。
json请求如下:
d = []
for df in dframes:
print('\n Dataframe')
l = []
x = []
for interval in my_intervals:
l.append(Thresholds(df,interval))
x.append(interval[0])
d.append(pd.concat(l,axis=1,keys=x))
pd.concat(d,keys=list(range(len(dframes))))
以下是我的代码
{
"method": "authenticate",
"params": [
"dummyuser",
"dummy"
],
"id": "1",
"jsonrpc": "2.0"
}
我遇到了“ com.android.volley.TimeoutError”错误。如何解决此错误?
然后是回应
RequestQueue requestQueueV1= Volley.newRequestQueue(getApplicationContext());
StringRequest stringRequestV1 = new StringRequest(Request.Method.POST, server_url + AppConfig.VERSION1_URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// response is JSONObject
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(SettingsActivity.this, "Error occurred.", Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> request_body = new HashMap<String, String>();
request_body.put("method", "authenticate");
request_body.put("id", "1");
request_body.put("jsonrpc", "2.0");
JSONArray params = new JSONArray();
params.put(user_name);
params.put(password);
request_body.put("params", params.toString());
return request_body;
}
@Override
public String getBodyContentType() {
return "application/json; charset=utf-8";
}
};
requestQueueV1.add(stringRequestV1);
获取成功后如何传递此响应json对象。
以下是我的邮递员屏幕截图:
答案 0 :(得分:0)
将其添加到您的 stringRequestV1 下面,然后再将其添加到Requestqueue。
stringRequestV1.setRetryPolicy(new DefaultRetryPolicy(4000, 2, 2f));
其中4000是 TIMEOUT_MS ,2是 DEFAULT_MAX_RETRIES ,2f是 DEFAULT_BACKOFF_MULT 。
您可以使用如下所示的默认截击超时设置。
stringRequestV1.setRetryPolicy(new DefaultRetryPolicy(
5000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));