Проблема хранилища записей Java ME - PullRequest
0 голосов
/ 11 мая 2011

Я сохраняю данные в хранилище записей.Если приложение работает, оно работает нормально, но при перезапуске данные приложения в хранилище записей теряются.

Вот моя команда загрузки:

            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) {
        }

1 Ответ

1 голос
/ 11 мая 2011

Да, это не сработает.

Если вы используете RecordEnumeration для итерации по вашей RMS (как и вы), вы должны использовать RecordEnumeration.nextRecord() для извлечения данных записи. Вы используете RecordStore.getRecord().

RecordEnumeration.nextRecord() увеличивает ваш RecordEnumeration на единицу. Как вы никогда не называете это, ваш цикл:

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

никогда не закончится!

...