Я SQLite для сбора данных от пользователя. Публикация получения всех данных, которые я загружаю на сервер, по событию нажатия кнопки с использованием сетевой библиотеки Volley. Я использую почтовый метод.
Код работает нормально. Но это дает ниже две ошибки при медленном интернет-соединении-
Некоторое время отклика равно NULL.
Некоторое время дублируют записи в базе данных (у обоих отсутствуют данные).
Я пытался добавить ниже строчный код перед добавлением запроса в requestQueue.
request.setshouldcache(false)
Я добавил его, чтобы устранить ошибку нулевого ответа ... но ничего не произошло.
Вот мой код залпа -
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. решить проблему нулевого ответа
2. Либо завершите данные, либо ничего не загрузите на сервер.
3. Есть ли способ показать предупреждение, если у пользователя медленное интернет-соединение