Hallo,
ich sammle Daten und lege diese in ein ArrayList:
private ArrayList<ChannelValue> channelValueList = new ArrayList<ChannelValue>();
Ein Timer soll dann die ArrayList ins Internet übertragen.
Hierzu lege ich die lokale ArrayList in ein Upload ArrayList:
private ArrayList<ArrayList<ChannelValue>> uploadChannelValueList = new ArrayList<ArrayList<ChannelValue>>();
Mein Code:
Bei einem Fehlerhaften Upload:
Nun scheint es so, als würde "iterator.remove();" kein Element aus dem ArrayList löschen.
Ich vermute ich verwechsle einen Zeiger mit einem neuem Objekt?
uploadChannelValueList.add(channelValueList);
Wird hier die ArrayList in das neue ArrayList kopiert oder nur ein Pointer erstellt?
ich sammle Daten und lege diese in ein ArrayList:
private ArrayList<ChannelValue> channelValueList = new ArrayList<ChannelValue>();
Ein Timer soll dann die ArrayList ins Internet übertragen.
Hierzu lege ich die lokale ArrayList in ein Upload ArrayList:
private ArrayList<ArrayList<ChannelValue>> uploadChannelValueList = new ArrayList<ArrayList<ChannelValue>>();
Mein Code:
Java:
public void onSenden() {
if (uploadChannelValueList.isEmpty()) {
return;
}
uploadChannelValueList.add(channelValueList);
for (Iterator<ArrayList<ChannelValue>> iterator = this.uploadChannelValueList
.iterator(); iterator.hasNext();) {
ArrayList<ChannelValue> value = iterator.next();
Runnable r = new SendHTTP(value, getPropertyUrl(),
getPropertyNodeid(), getPropertyApikey(), this);
new Thread(r).start();
iterator.remove();
}
channelValueList.clear();
updateOutputBuffer(channelValueList.size());
updateOutputUploadbuffer(uploadChannelValueList.size());
}
Bei einem Fehlerhaften Upload:
Java:
public void HttpAnswerFired(ArrayList<ChannelValue> channelValue) {
System.out.println("Not uploaded: " + channelValue.toString());
uploadChannelValueList.add(channelValue);
updateOutputUploadbuffer(uploadChannelValueList.size());
}
Nun scheint es so, als würde "iterator.remove();" kein Element aus dem ArrayList löschen.
Ich vermute ich verwechsle einen Zeiger mit einem neuem Objekt?
uploadChannelValueList.add(channelValueList);
Wird hier die ArrayList in das neue ArrayList kopiert oder nur ein Pointer erstellt?