2010-04-13 31 views
1

我有一个唱片店,其持有的购物项目目前我正在连载中的数据,像这样的Java微型版(J2ME) - 从记录存储中删除元素

** (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(); 

那么这个字节数组写入到一个列表记录存储像这样(使用用于环路每个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); 
} 

的问题来自于使用ID通过记录存储到treverse因为这可能会从缺失等改变,因此我不断歌厅被抛出无效的ID。我知道我不能使用对于每个ItemObj:Recordstore,那么我如何通过唱片商店进行遍历而不必担心ID?

回答

2

呼叫recordStore.enumerateRecords(null, null, false)

然后使用RecordEnumeration.hasNextElement()RecordEnumeration.nextRecord()

+0

非常感谢你:) – Garbit 2010-04-13 18:58:32