У меня небольшая проблема с моим проектом.Я разрабатываю приложение для Android и хочу опубликовать свои журналы на сервере.Почти все работает нормально, но у меня возникла небольшая проблема.У меня есть ArrayList в моем классе, который обрабатывает сообщения:
private ArrayList<String> logsToPost = new ArrayList<String>();
и метод, который помещает данные в этот список, и отдельный поток, который запускается каждые 20 секунд и загружает журналы и очищает список после этого.Проблема в том, что я получаю исключение ConcurrentModificationException, если я пытаюсь записать этот список, пока поток пытается загрузить данные и очистить список.Мой код выглядит следующим образом:
Iterator<String> keyIter = logsToPost.iterator();
while (keyIter.hasNext()) {
String next = keyIter.next();
String[] params = next.split(FormFactory.FUNCTION_SEP);
HttpData hd = HttpRequest.post(LOGCAT_LOG_URL, "userId=" + sb.userId + "&pdaId=" + sb.pdaId
+ "&tag=" + params[0] + "&logContent=" + params[1]);
logsToPost.remove(next);
}
Я знаю, что есть synchronizedList и синхронизированные блоки, но я не могу заставить synchronizedList работать на моем дроиде.У вас есть идеи, как я могу реализовать эту процедуру регистрации?Я попытался использовать ключевое слово volatile, но все равно получаю исключение.