如果我有1000行表,如何使用凌空加载数据?
这是我目前使用的截击请求,但它只运行一次请求并获取10行。如何让排球请求运行100次来获取我的所有数据?例如,它首先获取1-10行,然后在接收1-10行后开始获取11-20行,依此类推。
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
JSONObject obj;
try {
obj = new JSONObject(s);
if(obj.getInt(STATUS_CODE)==SUCCESS){
Log.d("logindatabase","success");
switch (objectType) {
case CATEGORY:
loadList = loadCategory(obj);
break;
default:
break;
}
onCallBack.onSuccess(loadList);
}else{
Log.d("logindatabase","fail");
Toast.makeText(context, FAIL_MESSAGE , Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(context, FAIL_MESSAGE , Toast.LENGTH_LONG).show();
onCallBack.onFail(e.toString());
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
//Showing toast
Toast.makeText(context, volleyError.getMessage().toString(), Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
//Creating parameters
Map<String,String> params;
//Adding parameters
switch (objectType) {
case CATEGORY:
params = loadCategoryParameter();
break;
default:
params = new Hashtable<String, String>();
break;
}
//returning parameters
return params;
}
};
//Creating a Request Queue
RequestQueue requestQueue = Volley.newRequestQueue(context.getApplicationContext());
//Adding request to the queue
requestQueue.add(stringRequest);
答案 0 :(得分:0)
这是分页发挥作用的地方。当您提出请求时,您需要在Volley Request中将数据作为请求参数提供给哪一页。第一页=第1至第10行,第2页=第11至第20行。
另外,请确保您的REST Api具有查询数据页面的功能。