我使用RecordStore
存储我的数据。
我知道当我们在RecordStore
中存储数据时,它会自动为每条记录生成一条记录ID。
但我怎么能自己设置记录ID?或者我如何获取记录ID?
因为我想使用recordstore.setRecord(..)
方法来更新我的记录库。
但是,当我使用RecordEnumeration
获取RecordStore
并使用方法nextRecordId()
时,它只显示奇数或偶数ID。我的意思是,当我有8条记录时,它只打印出奇数或偶数记录,如
2 4 6 8
我的代码:
handleRecord.openRecordStore(handleRecord.getRecordName());
RecordEnumeration re;
try {
int rc = handleRecord.getRecordStore().getNumRecords();
re = hrs.getRcs().enumerateRecords(null, null, true);
while(re.hasNextElement()) {
int rid = re.nextRecordId();
System.out.println(rid);
}
} catch(Exception e) {
System.out.println(e.toString());
}
答案 0 :(得分:3)
MIDP API没有自行设置记录ID的方法。
请参阅RecordStore API documentation了解这是如何工作的。
迭代商店的代码显示为OK:
re = hrs.getRcs().enumerateRecords(null, null, true);
while(re.hasNextElement()) {
int rid = re.nextRecordId();
System.out.println(rid);
}
如果你得到只有奇数甚至记录,比如2-4-6 ......或者1-3-5 ......结果打印出来,首先要检查的是你是否以某种方式删除了“缺失”的记录 - 这可以通过例如使用RecordStore.getVersion
方法来完成: