import Java.io.DatalnputStream;

import java.io.DataOutputStream;

import Java.io.lOException;

/**

Этот класс внедряет простую адресную книгу с целью демонстрации.

В нем хранятся записи, состоящие из полей имени String и номера телефона String.

Этот класс определяет два внутренних класса, один является блоком сравнения записей, а второй фильтром записей, используемым при извлечении записей.

*/

public class AddressBook

private static final String RECORD_STORE_NAME = «address-book»;

private RecordStore recordStore;

public AddressBook () throws RecordStoreException

super!);

recordStore = RecordStore.openRecordStore(RECORD_STORE_NAME, true);

{

void close() throws RecordStoreException

{

try

{

recordStore.closeRecordStore();

}

catch (RecordStoreNotOpenException rsno)

{

}

}

/*

Получает хранилище записей, используемое этим объектом.

@возвращаем ссылку на RecordStore, используемый этим объектом.

public RecordStore getRecordStore()

}

return recordStore;

/**

Добавляет указанную запись в хранилище записей данной адресной книги.

@param name имя входа было добавлено.

@parara phone телефонный номер для входа был добавлен.

@сбрасывает RecordStoreException, если есть проблемы с добавлением записи.

public void addRecord(String name, String phone)

throws RecordStoreException

}

ByteArrayOutputStreara baos = new ByteArrayOutputStream();

DataOutputStream dos = new DataOutputStream(baos);

try

dos.writeUTF(name); dos.writeUTF(phone);

}

catch (lOException ioe)

{

ioe.printStackTrace();

)

int id =

recordstore.addRecord(baos.toByteArray(), 0,

baos.toByteArrayO.lengthy-System, out. println ('Record id = ' + id);

}

/**

RecordEnumerator, упорядочивающий записи в лексикографическом порядке по полям имен записей.

*/

RecordEnumeration getMatchesByNarae(String matchKey)

throws RecordStoreNotOpenException

(

MacchAllNaraesFilter filter =

new MatchAllNamesFilter(matchKey);

AlphabeticalOrdering comparator =

new AlphabeticalOrdering();

return recordStore.enuraerateRecords(filter,

comparator, false);

}

/**

RecordFilter, устанавливающий совпадение, если имя варианта (первое поле в записи варианта)!) точно соответствует имени элемента списка или 2) если строка имени элемента списка начинается с имени варианта. Возвращает значение true, ее установлено соответствие, false — в ином случае.

*/

class MatchAllNamesFilter implements RecordFilter

{

String requestString;

public MatchAllNamesFilter(String matchKey);

requestString = matchKey;

}

public boolean matches(byte [] candidate)

Вы читаете Платформа J2Me
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату