Frage

Ich habe einen Plattenladen, die eine Liste enthalten Elemente des Einkaufens i bin zur Serialisierung der Daten wie so

** (inside) ItemClass **            
ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(byteOutputStream);

dataOutputStream.writeUTF(getOwner());
dataOutputStream.writeUTF(getItemName());
dataOutputStream.writeInt(getQuantity());

dataOutputStream.close();

return byteOutputStream.toByteArray();

Dieser Byte-Array wird dann auf den Aufzeichnungsspeicher geschrieben wie so (unter Verwendung von für die Schleife für jede ID)

for (int i = 1; i <= shoppingListStore.getNumRecords(); i++)
{
     byte[] itemRecord = shoppingListStore.getRecord(i);
     newItemObject.fromByteArray(itemRecord);
     userShoppingList.append(newItemObject.getItemName() + " " + newItemObject.getQuantity() + " " + newItemObject.getOwner(), null);
}

Das Problem kommt von der ID-Verwendung durch den Plattenladen treverse, da dies von der Löschung usw. ändern können und als solche halte ich geting ungültig ID geworfen. Ich weiß, dass ich nicht für jeden ItemObj verwenden kann:? Records so, wie ich über ids, ohne dass Sorge treverse durch den Plattenladen Sie

War es hilfreich?

Lösung

Anruf recordStore.enumerateRecords(null, null, false)

Dann nutzen RecordEnumeration.hasNextElement() und RecordEnumeration.nextRecord()

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top