Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

Мобильная Java: WAP, WML и прочееСоздание WAP сайта. Часть 1. Немного теории

Создание WAP сайта. Часть 1. Немного теории

WAP (Wireless Application Protocol-протокол беспроводных приложений). Протокол WAP определяет набор правил, которому должны следовать как WAP-приложения, так и браузеры, работающие на переносных устройствах.

Рассмотрим в кратце архитектуру WAP. Она очень похожа на WWW. В WAP используется тот же самый способ адресации ресурсов, что и в WWW, те же обозначения типов данных. В качестве клиента выступает мобильное устройство с WAP-браузером. Запросы от него идут на WAP-шлюз (это тот адрес, что вы указываете в настройках WAP своего телефона), который получив данные от сервера, отправляет их клиенту. В качестве сервера может выступать самый обычный Web-сервер. В этом случае между WAP-шлюзом и сервером используется протокол HTTP. В функции WAP-шлюза входят преобразование запросов из формата WAP-протокола и обратно. Чтобы уменьшить объем передаваемых данных, текстовые ресурсы, пришедшие от сервера, передаются клиенту в бинарной форме.

WML (Wireless Markup Language)- язык разметки для беспроводных устройств. Выполняет те же задачи, что HTML в Web. WML ориентирован на мобильные устройства, которые имеют ограниченные возможности по выводу и вводу данных.

Создавать свои WAP странички можно в любом текстовом редакторе, в том же Блокноте. Можно воспользоваться специализированными редакторами, предназначенными для WML.

Приступим к изучению WML. Он основан на расширяемом языке разметки XML. Любой документ WML начинается с инструкции <?xml version="1.0"?>. Она говорит о том, что данный текстовый файл содержит документ в формате XML версии 1.0. Обратите внимание, что перед этой инструкцией не должно быть никаких дополнительных символов, пробелов, переводов строки и т.д. В эту инструкцию можно добавить указание, в какой кодировке данный документ. Строчка будет выглядеть так <?xml version="1.0" encoding="UTF-8"?>

XML документ состоит из текста, окруженного специальными метками- тегами (tags), размещаемыми в угловых скобках. Основной структурной единицей языка XML является элемент (element). Элементы могут содержать внутри себя текст, а также другие элементы. Элементы записываются с помощью открывающего и закрывающего тегов:

<tag> текст и другие элементы </tag>

Если элемент ничего не содержит, он называется пустым и записывается так: <tag/>

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

Элемент может иметь свойства, которые описываются с помощью атрибутов. Атрибуты находятся внутри открывающего тега и представляют собой набор пар "имя=значение". Значения атрибутов заключается в кавычки(") или апострофы(').

В тексте документа можно делать комметарии. Они начинаются символами <!-- и заканчиваются -->. Могут быть однострочными и многострочными.

Вся информация в WML содержится в деках. Дек-это минимальный блок данных, который может быть передан сервером. Т.е. дек- это ваш файл с расширением .wml . Дек содержит в себе набор карт. Карта- основная структурная единица WML. Пользователь WAP-браузера видит в каждый момент времени только одну карту. Карта содержит в себе текст, изображения и элементы управления. Взаимодействуя с элементами управления, расположенными в карте, пользователь переходит от одной карты к другой. Поясню. На вашем телефоне вы видите на экране одновременно несколько строк. Чтобы просмотреть еще, вы пользуетесь перемоткой. Это все пока одна карта. Выполняя какое-то действие, например активировав ссылку, вы переходите на другую карту (или другой дек). Закачка изображения, мелодии, игры -не обязательно переход на другую карту. Немного непонятно? Не переживайте, через небольшое время вы все поймете. Мобильные телефоны ограничивают размер дека. Например, в телефонах Nokia 40 серии это 2.5kb. Но не забывайте, что ваши текстовые файлы передаются телефону в бинарном виде. Некоторые редакторы WML показывают размер, который будет в бинарном виде. А реально ваш wml файл можно делать до 4kb. Не забывайте об этом. Дек (т.е файл wml) полностью загружается в телефон, а потом переход по картам происходит мгновенно в самом телефоне. Иногда удобнее делать вместо нескольких карт- разные деки, чтобы пользователь не загружал не нужные для него данные.

Итак ваш файл wml должен содержать в себе несколько обязательных элементов:

<?xml version="1.0"?> <!-- 1 -->

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"><!-- 2 -->

<wml><!-- 3 -->

<card id="hi" title="WELCOME!"><!-- 4 -->

<p><!-- 5 -->

Privet!<!-- 6 -->

</p><!-- 7 -->

</card> <!-- 8 -->

</wml><!-- 9 -->

Строка 1 содержит стандартную инструкцию, указывающую, что перед нами XML документ. Вторая строка объявляет тип документа -WML и адрес, по которому расположен файл с определениями документа (правила, грамматика языка). Третья строка открывает описание дека. Тег, закрывающий дек, расположен в последней, девятой строке. В строке 4 объявляется первая карта, которая имеет идентификатор (id) hi и заголовок (title) WELCOME!. Карта содержит элемент p (строки 5-7), который описывает параграф. Внутри параграфа содержится текст (строка 6). Восьмая строка закрывает карту. Если мы загрузим этот wml файл в телефон, то на экране увидим в самом верху WELCOME! (title карты) и на экране телефона Privet! (текст)




CoddeX
02-05-2005




Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95