Я загружаю отчеты, в которых есть несколько полей и возможность загрузить одно изображение в этот отчет. Теперь эти отчеты хранятся в моей локальной базе данных. А теперь предположим, что я сохранил 5 отчетов с изображениями. Сейчас иногда нормально работает. но иногда он показывает эту ошибку SocketTimeOut exception . Вот мой код: -
private void sendData(JSONArray array) {
String url = "www.example.com/api/daily-visit-report";
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("data", array);
String[] images = new String[0];
images = dbHelper.get_all_visit_images();
for (int i = 0; i < images.length; i++) {
try {
params.put("" + i, new File(images[i]));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
client.setTimeout(120 * 1000);
client.post(url, params, new TextHttpResponseHandler() {
@Override
public void onProgress(long bytesWritten, long totalSize) {
Log.d("Progress Data", "uploaded data => " + bytesWritten + " out of" + totalSize);
long progressPercentage = (long) 100 * bytesWritten / totalSize;
dialog.setProgress((int) progressPercentage);
}
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
}
@Override
public void onSuccess(int statusCode, Header[] headers, String responseString) {
dialog.dismiss();
if (responseString.equals("Data saved successfully")) {
dbHelper.delete_visit_report();
finish();
}
}
});
}
Пожалуйста, помогите мне, как решить эту проблему. Заранее спасибо