Читаем Платформа J2Me полностью

import javax.microedition.lcdui.Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.microedition.lcdui.Form;

import javax.microedition.lcdui.TextField;

import javax.microedition.rms.RecordEnumeration;

import javax.microedition.rms.RecordStoreException;

import Java.util.Enumeration;

import Java.util.Vector;

/**


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


*/

public class SearchScreen extends Form

implements CommandListener

{

private static Command go =

new Command("Go", Command.SCREEN, 1);

private static Command back = new Command("Back", Command.BACK, 1);

private static SearchScreen instance; private Display display;

private AddressBookMain addressBook; private TextField keyEntry;

/**


Конструктор.


*/

public SearchScreen(}

(

super("Search for entry");

instance = this;

PersistenceDerao pDemo = PersistenceDemo.getlnstance ();

display = Display.getDisplay (pDerno);

addressBook = AddressBookMain.getlnstance ();

keyEntry = new TextField("Enter name",

null, 20, TextFieid.ANY); append(keyEntry);

addCommand(go); addCommand(back);

setCoramandListener(this);

}

/**


Возвращает один экземпляр данного класса.

Вызов данного метода до создания объекта возвращает нулевой указатель.

/**

возвращает экземпляр данного класса.


**/

public static SearchScreen getlnstance ()

return instance;) void display!)

(display.setCurrentlthis);

}

/**


Отображает данные, переданные на экран.

На самом деле этот метод передает обязанности по отображению данных экземпляру SearchResultScreen. Этот метод, однако, устанавливает новый экземпляр данного класса на текущее отображение.

Затрата выражается в Vector записей из хранилища записей адресной книги.


*/

void displaySearchResults(Vector results)

SearchResultScreen screen =

new SearchResultScreen (results);

display. setCurrenJ: (screen);

)


Создает конечный набор записей, соответствующих указанному имени.

Критерии отбора заключаются в том, что запись должна соответствовать имени, введенному пользователем в TextField «keyEntry». Этот метод задействует метод AddressBook.getMatchesByName() для применения специального фильтра, определяющего соответствие этого имени.


*/

Vector buildSearchResults()

{

AddressBook addressBook =

AddressBookMain.getInstance(). getAddressBook();

String matchKey = keyEntry.getString(); Vector results = new Vector();

try

{

RecordEnuraeration re =

addressBook.getMatchesByName(matchKey);

byte [] record = null;

while (re.hasNextElement())

record = re.nextRecord (); results.addElement(record);

}

}

catch (RecordStoreException rse)

}

rse.printStackTracet);

)

return results;

)

/**


Создает результаты поиска и отображает их на экране.


Перейти на страницу:

Похожие книги

Программирование мобильных устройств на платформе .NET Compact Framework
Программирование мобильных устройств на платформе .NET Compact Framework

Книга известного профессионала в области компьютерных технологий посвящена разработке приложений для широкого спектра мобильных устройств с использованием популярной и постоянно развивающейся платформы .NET Compact Framework. Уникальность этой книги состоит в том, что в ней гармонично переплетены теоретические сведения обо всем цикле разработки программного обеспечения с практическими примерами применения на языках С# и Visual Basic. Подробно рассматриваются концепции, лежащие в основе самой платформы .NET Compact Framework, а также вопросы, связанные с созданием эффективного пользовательского интерфейса, управлением памятью, производительностью и надежностью. Немалое внимание уделяется практическим аспектам разработки приложений для мобильных устройств, среди которых выбор модели представления и доступа к данным, внедрение коммуникационной модели, реализация модели поведения с помощью конечных автоматов и использование XML.Книга рассчитана на разработчиков разной квалификации, а также может быть полезна для студентов и преподавателей соответствующих специальностей.

Иво Салмре

Программирование / Книги по IT