1

如何遍历 j2me 应用程序的所有记录库?

记录存储是由用户在输入一些数据时创建的。所以记录库的数量不在我的控制范围内。

那么该应用程序是否跟踪与 j2me 应用程序关联的所有记录存储? 或者我应该创建一个包含所有其他记录存储名称的记录存储吗?

我可以使用从记录库中获取所有行

for(int i=1;i<=getnumrecords(RecordStoreName);i++)
RecordStoreName.getrecord(i);

但我正在寻找这样的功能来获取与我的应用程序关联的所有记录库名称。

我在一个记录存储中创建一个新记录存储而不是一个新行的原因是因为 java me 中记录存储的大小受电话限制。

所以我决定为我从表单中获得的每一个数据创建一个新的记录存储。

4

2 回答 2

2

如果您的用户可以从循环中删除条目,那么RecordStore您的循环可能会因为InvalidRecordIDException调用getRecord.
一种更安全的迭代记录的方法是使用RecordEnumeration

RecordEnumeration re = RecordStoreName.enumerateRecords(null, null, false);

while (re.hasNextElement()) {
    RecordStoreName.getrecord(re.nextRecordId());
}

评论后更新

你可以使用static方法listRecordStores。根据 API:

返回 MIDlet 套件拥有的记录存储名称的数组。请注意,如果 MIDlet 套件没有任何记录存储,则此函数将返回 null。返回的 RecordStore 名称的顺序取决于实现。

于 2012-10-18T12:14:05.103 回答
1

此功能是通过RecordStore.listRecordStores API 为应用程序开发人员提供的:

返回 MIDlet 套件拥有的记录存储名称的数组。请注意,如果 MIDlet 套件没有任何记录存储,则此函数将返回 null。返回的 RecordStore 名称的顺序取决于实现...

于 2012-10-18T13:59:11.747 回答