Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Дейтел Х.М. -> "Технологии профаммирования на Java 2 Книга 3" -> 125

Технологии профаммирования на Java 2 Книга 3 - Дейтел Х.М.

Дейтел Х.М. , Дейтел П.Дж., Сантри С.И. Технологии профаммирования на Java 2 Книга 3 — М.: Бином-Пресс, 2003. — 672 c.
ISBN 5-9518-0051-Х
Скачать (прямая ссылка): tehprogrammjava220033.pdf
Предыдущая << 1 .. 119 120 121 122 123 124 < 125 > 126 127 128 129 130 131 .. 271 >> Следующая

287
471
472 // использование свойств profile/configuration заголовка
Oser-Agent
473 String userAgentHeader = "Profile=" +
474 System.getProperty( "microedition.profiles" ) +
475 " Configuration=" +
476 System.getProperty( "microedition.configuration" ); 477
478 // задание Заголовка
479 httpConnection.setRequestProperty(
480 "Oser-Agent", userAgentHeader );
481 } 482
483 // обработка исключения при получении свойства запроса
484 catch ( IOException ioException ) {
485 ioException.printstackTrасе ();
486 } 487
488 } Il конец метода setOserAgentHeader 489
490 Il открытие потоха ввода DatalnputStream для приема данных
491 private String getOata( HttpConnection httpConnection )
492 throws IOException
493 {
494 String data = ""; Il сохранение данных 495
496 Il открытие потока ввода для соединения
497 DatalnputStream datalnputStream =
498 new DatalnputStream(
499 httpConnection. openIприtstream() ); 500
501 int inputCharacter = datalnputStream.read ();
502
503 Il чтение всех данных
504 while ( inputCharacter != -1 ) {
505 data = data + ( char ) inputCharacter;
506 inputCharacter = datalnputStream.read ();
507 ) 508
509 datalnputStream.close (); Il закрытие потока
510
511 return data;
512
513 } Il конец метода getData
514 }
Рис. 5.27. Мидлет TipTestMIDlet загружает тест Tip-Test из сервлета TipTestServlet
На рис. 5.28 показав фрагмент API пользовательского интерфейса J2ME.Каждый класс в составе API изображен в виде прямоугольника. Классы, имена которых выделены курсивом, является абстрактным, а стрелки обозначают отношения наследования (стрелка указывает на суперкласс). В API пользовательского интерфейса J2ME абстрактный суперкласс Displayable представляет содержимое, которое MIDP-устройство может отобразить на экране. Абстрактные суперклассы Screen и Canvas наследуют классу Displayable и представляют, соответственно, высокоуровневое и низкоуровневое отображаемое содержимое. Классы Alert,
288
Глава 5
Form, TextBox и List являются конкретными подклассами класса Screen. Извещение (класс Alert) представляет собой экран (класс Screen), который мидлет отображает на короткое время перед отображением другого экрана. Форма (класс Form) объединяет текстовые поля, изображения и группы элементов, выбираемых пользователем. Текстовое поле (класс TextBox) дает возможность пользователю вводить и редактировать текст. Список (класс List) представляет собой перечень строк (String), из которого пользователь может сделать выбор с помощью клавиатуры MIDP-устройства. В нашем практическом примере для отображения информации на экране используются классы Form и List, Класс Canvas не содержит каких-либо подклассов. Чтобы использовать класс Canvas, нужно сначала создать конкретный класс, который расширяет класс Canvas, а затем переопределить его метод paint для рисования графики на «холсте». В нашем практическом примере используются только классы высокоуровневого пользовательского интерфейса, поэтому мы не будем касаться использования класса Canvas.
javax.microedition.lcdui. Displayable
(высокоуровневые)
Screen
Alert
Form
TextBox
List
(низкоуровневые)
Рис. 5.28. Иерархия классов API пользовательского интерфейса J2ME
Совет по переносимости программ 5.1
Низкоуровневый API пользовательского интерфейса J2ME позволяет разработчикам создавать визуально более привлекательные экраны, чем те, которые могут быть созданы с помощью высокоуровневого API. Однако применение низкоуровневых АРІ не гарантирует единообразную компоновку элементов на экранах устройств, имеющих различные размеры экрана. Высокоуровневые API обеспечивают более согласованную компоновку для различных устройств,
В строке 15 класса TipTestMIDlet объявляется экземпляр класса Display, который действует в качестве менеджера дисплея для мидлета. Мидлет должен содержать один и только один экземпляр класса Display, чтобы осуществлять отображение любого объекта типа Displayable. Класс Display является примером паттерна проектирования Singleton, который обеспечивает, что система будет содержать один и только один объект класса, т.е. после реализации системой экземпляра этого объекта программе не будет разрешено создавать дополнительные объекты этого
Разработка приложений для беспроводной связи на базе Java и J2ME 289
класса. Поскольку MIDP-устройство имеет всего один экран, мидлет должен содержать только один менеджер дисплея для отображения содержимого на этом экране, и, следовательно, в каждом мидлете может существовать только один объект типа Display. Статический метод getDisplay класса Display возвращает ссылку на единственный в системе объект Display (этот объект Display также называется единичным объектом). Если объект Display был создан, последующие вызовы метода getDisplay просто возвращают одну и ту же ссылку на единственный объект Display.
Объект Display гарантирует, что мидлетом TipTestMIDlet за один раз будет отображаться только один экран (подкласс класса Displayable). В строках 18-22 объявляется пять экранов (объекты Screen) для мидлета TipTestMIDlet. Мидлет TipTestMIDlet содержит список List (строка 18) для представления основного экрана, который содержит ссылку на сервлет WelcomeServlet, список List (строка 19) для отображения текста из файла index.txt, форму Form (строка 20) для отображения текста из файла info.txt (который содержит ссылку на сервлет TipTestServlet), форму Form (строка 21) для отображения вопросов теста Tip-Test и форму Form (строка 22) для отображения ответов на вопросы теста Tip-Test.
Предыдущая << 1 .. 119 120 121 122 123 124 < 125 > 126 127 128 129 130 131 .. 271 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100