如何使用齐射

时间:2017-09-17 04:56:11

标签: android android-volley

如果我有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);

1 个答案:

答案 0 :(得分:0)

这是分页发挥作用的地方。当您提出请求时,您需要在Volley Request中将数据作为请求参数提供给哪一页。第一页=第1至第10行,第2页=第11至第20行。

另外,请确保您的REST Api具有查询数据页面的功能。