×
Traktatov.net » Создание игр для мобильных телефонов » Читать онлайн
Страница 225 из 246 Настройки

Перед тем как вы проникнете в сущность RMS, давайте рассмотрим, как смоделировать данные о рекордах. Иначе говоря, сперва вы должны установить, что и как вы будете хранить. Пока необходимо запомнить, что RMS позволяет хранить данные в специальном контейнере – хранилище записей (record store).

Знакомство с Java RMS

Как вы знаете, дисковые накопители не входят в стандартную комплектацию мобильных телефонов, по крайней мере, пока не входят. Поэтому необходимо найти другие способы хранения информации. К счастью, в мобильных телефонах есть область памяти, которая используется для постоянного хранения данных, поэтому вы можете использовать ее в своих целях. В отличие от жестких дисков, которые работают на основе файлов, фундаментальное понятие хранилища в J2ME – это хранилище записей.

...

В копилку Игрока

То, как телефон хранит данные, зависит от конкретной модели. В современных мобильных телефонах обычно используется память устройства, но в будущем телефоны могут иметь и микро жесткие диски или какие-либо другие средства хранения информации. Хорошо, что, с точки зрения программирования, способ хранения данных не важен.

Понятие о записях и хранилищах записей

Хранилище записей – это упрощенная база данных. Запись – это единица информации, имеющая уникальный числовой идентификатор (ID). Хранилище записей можно представить как таблицу, состоящую из двух колонок (рис. 19.1).

Рис. 19.1. Хранилище записей состоит из отдельных записей, имеющих уникальный ID

Каждое хранилище записей в RMS ассоциировано с пакетом мидлета и имеет текстовое имя, идентифицирующее ее. Так, например, хранилище списка рекордов для игры Space Out может называться HiScores, доступ к нему может быть получен только через приложение Space Out. Если вы распространяете другие игры вместе со Space Out в одном пакете, то остальные игры также будут иметь доступ к этому хранилищу.

...

В копилку Игрока

Пакет мидлетов определяется JAR-файлом. Чтобы создать пакет мидлетов, просто упакуйте несколько мидлетов в один JAR-файл и создайте необходимый дескриптор (JAD) для каждого из них. Все примеры игр и программы, приведенные в книге, упакованы в отдельные JAR-файлы.

Данные, находящиеся в хранилище, – это массив байтов. Независимо от того, сохраняете ли вы строку текста или целые числа, они сохраняются в виде последовательности байтов.

Позже в этой главе вы узнаете, что любые стандартные данные Java очень легко конвертировать в массив байтов и обратно, и научитесь делать это.

Изучаем класс RecordStore

MIDP API поддерживает RMS через пакет javax.microedition.rms. В этом пакете находятся класс и несколько интерфейсов, поддерживающих создание и работу с хранилищами данных. Эти функции выполняет класс RecordStore, он предоставляет программируемый интерфейс для одного хранилища данных. Этот класс выполняет чтение и запись хранилищ записей.

Использование класса RecordStore обычно подразумевает выполнение следующих шагов:

1. открытие/создание хранилища записей;

2. запись/чтение данных в/из хранилища записей;

3. закрытие хранилища записей.