互联网连接缓慢时Volley Null响应并向数据库复制条目

时间:2019-06-03 10:32:15

标签: android android-volley

我是SQLite,要从用户那里收集数据。发布获取所有数据后,使用网络库Volley在Button Click事件上将其上传到服务器。我正在使用发布方法。

代码运行正常。但是,在互联网连接速度缓慢的情况下,它会给出以下两个错误-

某些时间响应为NULL。

某些时间重复到数据库的条目(都缺少数据)。

在将请求添加到requestQueue之前,我尝试添加以下行代码。

request.setshouldcache(false)

我添加了它以解决null响应错误...但是什么也没发生。

这是我的凌空密码-

StringRequest stringRequest = new StringRequest(Request.Method.POST,
            "http://" + AppController.SERVER_IP + "/biomonitoring/android/Insert_sampling.php",

            new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {

            progressDialog.dismiss();
            Toast.makeText(UploadImage.this, response, Toast.LENGTH_LONG).show();
           databasehelper.delete_sampling_one(location_id);
            databasehelper.delete_sampling_two(location_id);
            databasehelper.delete_sampling_three(location_id);
            databasehelper.delete_sampling_four(location_id);
            Samplecode();
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            progressDialog.dismiss();
            Toast.makeText(UploadImage.this, "Error: " +error.getMessage(), Toast.LENGTH_SHORT).show();
            btn_submit.setEnabled(true);
        }
    }) {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            HashMap<String,String>params = new HashMap<>();
            params.put("location_id",location_id);
            .
            .
            .
            params.put("key","123");
            return params;
        }
    };
    requestQueue.add(stringRequest);

我要
1.解决null响应问题
2.要么完整数据要么什么都不上传到服务器。
3.如果用户的互联网连接速度慢,是否可以显示警报

0 个答案:

没有答案