Java Micro Edition (J2ME) - Enregistrement de mise à jour en utilisant l'énumération disquaire
Question
J'ai un magasin de disques d'articles qui ont (nom, quantité, propriétaire, état)
lorsque l'utilisateur déclenche un événement que je veux définir l'état de tous les éléments dans mon RecordStore avec « acheté »
re = shoppingListStore.enumerateRecords(null, null, false);
while (re.hasNextElement())
{
// read current values of item
byte [] itemRecord = re.nextRecord();
// deserialise byte array
newItemObject.fromByteArray(itemRecord);
// set item status to purchased
newItemObject.setItemStatus("Purchased");
// create new bytearray and call newitemobject . tobytearray
// method to return a byte array of the objects
// (using UTF8 encoded strings~)
byte[] itemData = newItemObject.toByteArray();
// add new byte array to shoppinglist store
shoppingListStore.setRecord(re.nextRecordId(), itemData, 0, itemData.length);
}
Cependant, je suis en remplacant enregistrement suivant (en utilisant le nextRecordId). Je l'ai essayé d'utiliser nextRecordId - 1
mais évidemment, cela est hors des limites sur le premier
Espoir vous pouvez aider?
La solution
Avez-vous essayé?
re = shoppingListStore.enumerateRecords(null, null, false);
while (re.hasNextElement())
{
int id = re.nextRecordId();
// read current values of item
byte [] itemRecord = shoppingListStore.getRecord(id);
// deserialise byte array
newItemObject.fromByteArray(itemRecord);
// set item status to purchased
newItemObject.setItemStatus("Purchased");
// create new bytearray and call newitemobject . tobytearray method to return a byte array of the object (using UTF8 encoded strings~)
byte[] itemData = newItemObject.toByteArray();
// update shoppinglist store record with new byte array
shoppingListStore.setRecord(id, itemData, 0, itemData.length);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow