Для начинающих
[16]
С этих статей вырасли все, кто сейчас программирует на MP. Именно с этих статей надо начинать новичку, качество у них не всегда хорошее, но почитать стоит.
|
Разбираем.Обьясняем
[1]
В этой категории обьясняем, разьясняем библиотеки,примеры,мидлеты и т.д.
|
Прочее
[4]
Прочее, что не касается программирования: как настроить MP, что нужно для работы и др...
|
Главная » Статьи » Midlet Pascal » Для начинающих |
Очень часто приложениям приходится сохранять какие-то данные в телефон. На компьютере эти данные сохраняются в файлы которые хранятся на жестком диске. Мобильные телефоны не имеют дисков, поэтому ява приложениям приходится искать альтернативные методы сохранения данных. J2ME дает доступ к данным флеш памяти через интерфейс называемый -хранилище данных (record store). Хранилища данных идентифицируются по имени. Для открытия хранилища нужно пользоваться функцией OpenRecordStore. Этой функции передается имя хранилища, а она возвращает обьект типа RecordStore. Если хранилище с таким именем отсутствует, то создается новое.После завершения работы с хранилищем оно должно быть закрыто с помощью функции CloseRecordStore. Хранилище может быть удалено с помощью функции DeleteRecordStore Каждое хранилище данных содержит текстовые строки идентифицируемые по их индексу. Это очень отличается от обычных файлов которые содержат raw данные. Вы можете получать количество записей с помощью функции GetRecordStoreSize. Функции ReadRecordStoreEntry передается два аргумента: обьект типа RecordStore, и индекс элемента. Функция вернет текстовую строку сохранённую в хранилище под соответствующем индексом. Новый элемент может быть добавлен в хранилище с помощью функции AddRecordStoreEntry, которая возвращает индекс сохраненного элемента в хранилище. Функция GetRecordStoreNextId возвращает индекс который будет дан следующему элементу сохраненному с помощью функции AddRecordStoreEntry. Данные записи в хранилище могут быть отредактированы с помощью функции ModifyRecordStoreEntry. И наконец элемент может быть удален с помощью функции DeleteRecordStoreEntry. Индекс первого элемента сохраненного в хранилище равен 1. При следующем вызове AddRecordStoreEntry будет добавлен элемент с индексом 2. Следующий вызов добавит элемент с индексом 3. Если вы удалите элемент с индексом 1, и после этого вы вызовете функцию AddRecordStoreEntry, новый элемент будет иметь индекс 4, но при этом элемент с индексом 1 будет пуст. Если вы вызовите функцию GetRecordStoreNextId, она вернет значение 5, а функция GetRecordStoreSize вернет 3. Приведем пример с использованием этих функций: program record_store; var rs : recordStore; countStr : string; countInt : integer; index : integer; nextId :integer; begin rs := OpenRecordStore("Count"); nextId := GetRecordStoreNextId(rs); // если программа запущена впервые добавим элемент в // хранилище данных if nextId = 1 then index := AddRecordStoreEntry(rs, "0"); //добавим элемент // прочитаем элемент countStr := ReadRecordStoreEntry(rs, 1); // увеличим на единицу countInt := StringToInteger(countStr) + 1; countStr := IntegerToString(countInt); // сохраним увеличенное на единицу значение ModifyRecordStoreEntry(rs, countStr, 1); // закроем хранилище данных CloseRecordStore(rs); // отобразим элемент ShowForm; index := FormAddString("Число запусков: " + countStr); AddCommand(CreateCommand("Exit", CM_EXIT, 1)); repeat Delay(100) until GetClickedCommand <> EmptyCommand; end. статья взята с http://aleksphone.narod.ru | |
Просмотров: 3899 | Рейтинг: 4.5/2 |
Всего комментариев: 0 | |