如何迭代j2me应用程序的所有记录存储?
记录存储由用户在输入某些数据时创建。所以记录存储的数量不在我的控制范围之内。
,那么应用程序是否跟踪与j2me应用程序关联的所有记录存储?还是,我应该创建一个包含所有其他记录存储名的recordstore吗?
我可以从记录存储中获取所有的行。
for(int i=1;i<=getnumrecords(RecordStoreName);i++)
RecordStoreName.getrecord(i);,但我正在寻找这样的功能,以获取与我的应用程序.相关联的所有记录存储名。
我之所以要在一个记录存储中创建一个新的RecordStore而不是一个新的行,是因为java中的记录存储的大小受到电话的限制。
因此,我决定为从表单中获得的每一个数据创建一个新的recordStore。
发布于 2012-10-18 12:14:05
如果您的用户可以从RecordStore中删除条目,那么您的循环可能会因为调用getRecord时的InvalidRecordIDException而中断。
迭代记录的一种更安全的方法是使用RecordEnumeration
RecordEnumeration re = RecordStoreName.enumerateRecords(null, null, false);
while (re.hasNextElement()) {
RecordStoreName.getrecord(re.nextRecordId());
}在注释后更新
您可以使用static方法listRecordStores。根据API:
返回MIDlet套件拥有的记录存储的名称的数组。注意,如果MIDlet套件没有任何记录存储,这个函数将返回null。返回的RecordStore名称的顺序取决于实现。
发布于 2012-10-18 13:59:11
此功能提供给使用RecordStore.listRecordStores API的应用程序开发人员:
返回MIDlet套件拥有的记录存储的名称的数组。注意,如果MIDlet套件没有任何记录存储,这个函数将返回null。返回的RecordStore名称的顺序与实现有关.
https://stackoverflow.com/questions/12948211
复制相似问题