0

我将数据保存到记录存储。如果应用程序正在运行,它工作正常,但是当我重新启动记录存储中的应用程序数据时会丢失。

这是我的加载命令:

            try {
            int i=1;
            display.setCurrent(list2);
            RecordStore RS = RecordStore.openRecordStore("recordStore", true);
            RecordEnumeration re=  RS.enumerateRecords(null, null, true);
            adresaURL ad = new adresaURL();
            System.out.println("nacteno");
            while(re.hasNextElement()){
                byte br[] = RS.getRecord(i);
                ad.setPopis(new String(br));
                br = RS.getRecord(i+1);
                ad.setUrl(new String(br));
                System.out.println(ad.getPopis());
                System.out.println(ad.getUrl());
                i+=2;
                adresy.addElement(ad);
                list2.append(ad.getPopis(), null);
                System.out.println("nacteno2");          
            }
        recordStore.closeRecordStore();
        } catch (Exception e) {
        }
4

1 回答 1

1

是的,那是行不通的。

如果您使用 aRecordEnumeration来遍历您的 RMS(就像您一样),您必须使用它RecordEnumeration.nextRecord()来检索记录数据。您正在使用RecordStore.getRecord().

RecordEnumeration.nextRecord()将你的前进RecordEnumeration一个。正如您从未调用过的那样,您的循环:

while (re.hasNextElement()) {
    ...
}

永远不会结束!

于 2011-05-11T07:11:23.150 回答