Перебирать все Java-файлы RecordStore меня

Как мне перебрать все хранилища записей для приложения j2me?

Хранилище записей создается пользователем, когда он вводит некоторые данные. Так что количество хранилищ записей не зависит от меня.

Итак, отслеживает ли приложение все хранилища записей, связанные с приложением j2me? ИЛИ следует ли мне создать хранилище записей, которое будет содержать имена всех других хранилищ записей?

Я могу получить всю строку из хранилища записей, используя

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

Но мне нужна такая функция для получения всех имен хранилищ записей, связанных с моим приложением.

Причина, по которой я создаю новый RecordStore вместо новой строки в одном хранилище записей, заключается в том, что размер хранилища записей в java me ограничен телефоном.

Поэтому я решил создать новое хранилище записей для всех данных, которые я получаю из формы.


person paul    schedule 18.10.2012    source источник


Ответы (2)


Если ваш пользователь может удалить записи из RecordStore, ваш цикл, вероятно, прервется из-за _ 2_ при вызове _ 3_.
Более безопасный подход к итерации записей - использовать _ 4_:

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

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

Обновление после комментариев

Вы можете использовать static method _ 7_. Согласно API:

Возвращает массив имен хранилищ записей, принадлежащих набору мидлетов. Обратите внимание, что если в наборе MIDlet нет хранилищ записей, эта функция вернет null. Порядок возвращаемых имен RecordStore зависит от реализации.

person Telmo Pimentel Mota    schedule 18.10.2012
comment
Нет, я говорил о работе с RecordStore, а не о записи RecordStore. В примере я показал, что могу работать с записями Recordstore, но я хотел знать, как работать с RecordStores, как мы имеем дело с записями. - person paul; 18.10.2012

Эта функция предоставляется разработчикам приложений с помощью RecordStore.listRecordStores API:

Возвращает массив имен хранилищ записей, принадлежащих набору мидлетов. Обратите внимание, что если в наборе MIDlet нет хранилищ записей, эта функция вернет null. Порядок возвращаемых имен RecordStore зависит от реализации ...

person gnat    schedule 18.10.2012