Java Micro Edition (J2ME) - Enregistrement de mise à jour en utilisant l'énumération disquaire

StackOverflow https://stackoverflow.com/questions/2632788

  •  26-09-2019
  •  | 
  •  

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?

Était-ce utile?

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
scroll top