Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用volly平滑处理一个包含200k行的json数组_Android_Json_Android Volley_Large Files - Fatal编程技术网

Android 如何使用volly平滑处理一个包含200k行的json数组

Android 如何使用volly平滑处理一个包含200k行的json数组,android,json,android-volley,large-files,Android,Json,Android Volley,Large Files,我有一个包含大量数据的json数组。 我用volly jsonArrayRequest调用url,如下所示 public void makeJsonArrayReq(){ showProgressDialog(); JsonArrayRequest req = new JsonArrayRequest(Const.URL_IPD_ADMITED, new Response.Listener<JSONArray>() {

我有一个包含大量数据的json数组。 我用volly jsonArrayRequest调用url,如下所示

public void makeJsonArrayReq(){
    showProgressDialog();
    JsonArrayRequest req = new JsonArrayRequest(Const.URL_IPD_ADMITED,
            new Response.Listener<JSONArray>() {
                @Override
                public void onResponse(JSONArray response) {
                    Log.d("response ================", response.toString());
                    textView.setText(response.toString());
                    hideProgressDialog();
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            VolleyLog.d("Error", "Error: " + error.getMessage());
            textView.setText("Error Occurs ");
            hideProgressDialog();
        }
    });
AppController.getInstance().addToRequestQueue(req, "array");
public void makeJsonArrayReq(){
showProgressDialog();
JsonArrayRequest req=新的JsonArrayRequest(Const.URL\u IPD\u接受,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONArray响应){
Log.d(“response===================”,response.toString());
setText(response.toString());
hideProgressDialog();
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
d(“错误”,“错误:+Error.getMessage());
setText(“发生错误”);
hideProgressDialog();
}
});
AppController.getInstance().addToRequestQueue(请求,“数组”);
}


我的设备显示progressDialog一段时间之后,它挂起应用程序,几分钟后,它在texview中显示响应,但这是一个非常漫长的过程,当internet连接断开并从截取缓存中提取时也是如此。如何处理应用程序中的URL?

您需要稍微更改api以支持分页。有几种分页技术可用,您必须选择一种适合您的情况

Android
中,您可以保存最后获取的
pageNumber
(如果这是API作为页面标识符返回的内容),并且您的API应该在请求中接受此变量(主要通过查询参数)

在下一个请求中,它应该将pageId更新为2


由于问题太广泛,因此不可能提供精确的代码解决方案,因此我已解释了这个概念。

使用分页功能。实际上,我是一名新的android开发人员,如何在android中使用分页功能
http://43.255.22.123:3000/android/mis/get/ipdAdmitPatMd?pageId=1