#java #java-me #rms
#java #java-me #rms
Вопрос:
Я сохраняю данные в хранилище записей. Если приложение запущено, оно работает нормально, но при перезапуске приложения данные в хранилище записей теряются.
Вот моя команда загрузки:
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. И пустой
catch
блок — ужасная идея! Вы даже не будете уведомлены, если у вас возникнет проблема, вы должны хотя бы поместить туда какое-нибудь протоколирование илиe.printStackTrace()
!
Ответ №1:
Да, это не сработает.
Если вы используете RecordEnumeration
для итерации по вашему RMS (как вы используете), вы должны использовать RecordEnumeration.nextRecord()
для извлечения данных записи. Вы используете RecordStore.getRecord()
.
RecordEnumeration.nextRecord()
продвигает вас RecordEnumeration
вперед на единицу. Поскольку вы никогда не вызываете это, ваш цикл:
while (re.hasNextElement()) {
...
}
это никогда не закончится!
Комментарии:
1. хорошо, я меняю это, но проблема все еще существует. Это не объясняет, почему цикл не запускается.nacteno2 не записывается на консоль
2. Вы не объяснили, что это была ваша проблема!
3. Генерируются какие-либо исключения? Поместите
System.out.println()
в свойcatch
блок.4. исключения не генерируются. когда приложение запущено, команда загрузки и сохранения работает нормально, но при повторном запуске цикла приложения в команде load не запускается. В подходящем хранилище записей нет никаких данных.
5. Определенно, в хранилище записей нет никаких данных. Как вы это сохраняете?