Е. Буткевич Пишем программы и игры



страница1/15
Дата22.06.2019
Размер3.14 Mb.
#106112
ТипКраткое содержание
  1   2   3   4   5   6   7   8   9   ...   15







Е. Буткевич

Пишем ПРОГРАММЫ и ИГРЫ

для сотовых

ТЕЛЕФОНОВ

Москва • Санкт-Петербург • Нижний Новгород • Воронеж

Ростов-на-Дону • Екатеринбург • Самара • Новосибирск

Киев • Харьков • Минск

2006


ББК 32 882.9 УДК 621.395:004.3 Б93

Буткевич Е. Л.

Б93 Пишем программы и игры для сотовых телефонов. — СПб.: Питер, 2006. — 204 с: ил.

ISBN 5-469-01139-9

Эта книга — общедоступный самоучитель программирования для мобильных телефонов, с по­мощью которого любой, даже не искушенный в секретах программирования читатель, сможет овладеть базовыми знаниями языка Java, навыками работы с необходимыми инструментами и утилитами, написать свои первые программы, а главное — увидеть и показать друзьям результат на экране своего мобильника. Книга написана доступным, живым языком и ориентирована вовсе не на профессионалов, а на всех, кто хотел бы расширить возможности своего мобильника и испытывать себя в роли программиста.

Попробуйте — это совсем не сложно!

ББК 32.882.9 УДК 621.395:004.3



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

разрешения владельцев авторских прав.

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

ISBN 5-469-01139-9 © ЗАО Издательский дом «Питер», 2006



Краткое содержание

Предисловие 10

Глава 1. С чего начинать? 14

Глава 2. Hello, World! 23

Глава 3. Пользовательский интерфейс высокого уровня 32

Глава 4. Работа с графикой 42

Глава 5. Структуры и форматы данных в J2ME 52

Глава 6. Организация многопоточных приложений 66

Глава 7. Сохранение данных и параметров приложения 74

Глава 8. Стандартные средства пользовательского интерфейса . .85

Глава 9. Организация потоков, работа с файлами 96

Глава 10. Ввод текста, работа со строками 107

Глава 11. Работа со временем, датой и календарем 119

Глава 12. Работа над ошибками 127

Глава 13. Расширение функциональности с помощью API 137

Глава 14. Приложения для работы с Интернетом 147

Глава 15. Защита приложений 161

Bonus. Распространение мобильных приложений.

Практические советы по продажам мобильного контента 171

Приложение 1. Полный листинг программы «Змейка» 173

Приложение 2. Полный листинг программы «BookReader» 190

Приложение 3. Полный листинг программы «AddressBook» ..... 195
Литература 203


Содержание

Предисловие .10

К читателям 10

От издательства 12

История языка Java 12



Глава 1. С чего начинать? 14

Оборудование 14

Программное обеспечение 18

Эмуляторы 20



Глава 2. Hello, World! 23

Класс MIDlet 23

Создание мидлета 25

Импорт классов и пакетов 28

Компиляция и запуск мидлета 29

Упаковка мидлета 31



Глава 3. Пользовательский интерфейс высокого уровня....32

Класс Form 33

Класс Display 34

Отображаем картинку 34

Класс Command 36

Интерфейс Command Listener 38



Глава 4. Работа с графикой 42

Класс Canvas 42

Класс Graphics 42

Класс Graph 45

Рисование текста 47

Обработка клавишных событий 48



Глава 5. Структуры и форматы данных в J2 ME52

Объекты 52

Примитивные типы 53

Массивы 53



Содержание 7

Класс Vector 54

Класс Snake 55

Класс Stack 64



Глава 6. Организация многопоточных приложений .......66

Многозадачность 66

Класс Thread , 67

Приоритеты тредов 68

Синхронизация тредов 70

Класс Snake 72



Глава 7. Сохранение данных и параметров приложения ... 74

RecordStore — хранилище записей 75

RecordEnumeration — нумератор списка зшшсей 76

RecordFilter и Record Comparator — фильтр и компаратор 78

RecordListener — лови момент 80

RecordStoreException — возможные проблемы 80

High Score — таблица рекордов 81

Глава 8. Стандартные средства

пользовательского интерфейса 85

Класс List 85

Interface Choice 86

Класс SnakeGame 87

Класс Gauge 93

Глава 9. Организация потоков, работа с файлами 96

Класс InputStream 96

Класс DatalnputStream 99

Класс BookReader 101

Класс Byte Array InputStream 106

Класс OutputStream 106



Глава 10. Ввод текста, работа со строками 107

Класс TextBox 107

Класс TextField 109

Класс AddressBook Ill



Глава 11. Работа со временем, датой и календарем 119

Класс Date 119

Класс DateField 120

Класс Calendar 122

Kiacc TimeZone 123

Класс BirthdayFilter 124

8 Содержание

Глава 12. Работа над ошибками 127

Класс Exception 127

Формирование исключений 130

Класс Alert 132

Класс AlertType 133

Глава 13. Расширение функциональности с помощью API ... 137

Nokia API 137

Samsung API 141

Siemens API 144



Глава 14. Приложения для работы с Интернетом 147

Класс Connector 147

Интерфейс Connection 148

Интерфейсы InputConnection и OutputConnection 149

Интерфейс Stream Connection 149

Интерфейс StreamConnectionNotifier 153

Интерфейс DatagramConnection 153

Интерфейс ContentConnection 154

Интерфейс HttpConnection 155

Глава 15. Защита приложений ,, 161

Java Decompiler 161

Защита приложений 167

Обфускация 167



Bonus. Распространение мобильных
приложений. Практические советы
по продажам мобильного контента 171


Приложение 1.

Полный листинг программы «Змейка» 173

Приложение 2.

Полный листинг программы «BookReader» 190

Приложение 3.

Полный листинг программы «AddressBook» 195

Литература 203

Посвящаю эту книгу двум самым близким мне людям — отцу Леониду Михайловичу и супруге Ксюше.



Предисловие

К читателям

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

Для разработки приложений мы будем использовать платформу J2ME компании Sun Microsystems, поскольку на сегодняшний день это единственный универсаль­ный инструмент программирования для мобильных телефонов.

Книга построена в виде самоучителя, разделенного на главы-уроки. В нем вы най­дете больше практических советов и примеров, нежели теоретических сведений из области объектно-ориентированного программирования. Я постарался изло­жить материал максимально доступно, на пальцах, зачастую не вдаваясь в под­робности и тонкости. Многочисленные примеры, приведенные в книге, хоть и не являются образцом аккуратности кодирования или истиной в последней инстан­ции, но реализованы и протестированы с точки зрения доступности непрофесси­оналам. Опытные программисты могут найти книгу скучной, с избытком инфор­мации об азах программирования, местами несерьезной в отношении к сложным задачам, а кто-то будет с удовольствием читать этот букварь. Основной упор кни­ги делается на практическом применении материала, на том, какие средства мо­гут потребоваться во время разработок и как ими пользоваться.

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

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

К читателям 11

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

Далее приведен список всех глав с их кратким описанием.

Глава 1. С чего начинать? Обзор необходимых средств для мобильного програм­мирования: модели телефонов, поддерживающие J2ME; коммуникационные ка­бели; необходимое программное обеспечение; студии разработки; эмуляторы; заг­рузка приложений в телефон.



Глава 2. Первое приложение «Hello, World!» Описание создания первой програм­мы в студии разработки J2ME Wireless Toolkit. Структура программы, компиля­ция, тестирование программы на эмуляторе.

Глава 3. Пользовательский интерфейс высокого уровня. Иерархия класса Screen, отображение формы и взаимодействие с ней. Классы Di spl ay, Screen, Form, Command. Пример программы фотоальбома («Slide Show»).

Глава 4. Работа с графикой. Классы Canvas, Graphics. Общая организация графи­ки, рисование простых геометрических фигур. Разбор примера программы управ­ления точкой, рисующей фигуры на экране («Float Point»).

Глава 5. Структуры и форматы данных вJ2ME. Типы данных. Классы Vector, Stack. Работа с данными. Расширение программы «Float Point» до игры «Змейка».



Глава 6. Организация многопоточных приложений, параллельное программиро­вание. Класс Thread. Вопросы синхронизации. Расширение программы «Змейка»: пример приобретает вид законченной, качественной игры.

Глава 7. Сохранение данных приложения, сохранение параметров программ (RMI, класс RecordStore). Расширение «Змейки», добавление запоминания настроек и таблицы рекордов.



Глава 8. Стандартные средства пользовательского интерфейса, организация меню. Классы List, ChoiceGroup. Управляющие сигналы высокого уровня. Реализация меню для «Змейки».

Глава 9. Организация потоков, работа с файлами. Класс InputStream. Вопросы ло­кализации, проблема корректного отображения русского текста. Обзор програм­мы «Book Reader». Класс Font.

Глава 10. Ввод текста, работа со строками. Классы TextBox, TextField. Средства ввода и редактирования текста. Разбор программы «AddressBook», реализующей записную книжку.



Глава 11. Работа со временем, датой и календарем. Классы Date, Calendar. Извле­чение внутренней даты и времени телефона. Расширение записной книжки до «Birthday Reminder».

Глава 12. Работа над ошибками. Классы Alert, Error, Exception. Обработка исклю­чительных ситуаций, процесс отладки программ.



12Предисловие

Глава 13. Расширение функциональности MIDP 1.0 с помощью API фирмы-про­изводителя мобильного телефона. Nokia API, Samsung API, Siemens API. Работа со звуком, дополнительные возможности.

Глава 14. Методы передачи и приема данных. Классы Connector, Connection, OatagramConnection,StreamConnection,ContentConnection, HttpConnecti on. Реализация и разбор примеров интернет-приложений.

Глава 15. Защита приложений (обфускация). Обзор декомпиляторов: просмотр, редактирование и усовершенствование чужих приложений.

Bonus. Распространение мобильных приложений. Практические советы по про­дажам мобильного контента.

Приложение 1. Полный листинг программы «Змейка». Приложение 2. Полный листинг программы «Book Reader». Приложение 3. Полный листинг программы «Birthday Reminder».

Весь этот путь он начала до конца я пройду вместе с вами и реализую все описан­ные примеры. В процессе реализации и тестирования примеров я буду приводить скриншоты, чтобы никто не усомнился в успешном тестировании. То есть все ре­ализовано, все проверено, все работает, чего и вам желаю. А теперь закончим всту­пительную часть словами классика. За мной, читатель!



От издательства

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты comp@piter.com (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

Все исходные тексты, приведенные в книге, вы можете найти по адресу http:// www.piter.com/download.

Подробную информацию о наших книгах вы найдете на веб-сайте издательства: http://www. piter.co m.

История языка Java

По сравнению со своими старшими братьями в большой семье языков програм­мирования, Javaсовсем еще ребенок, причем едва достигший десятилетнего возраста. Но посмотрите, какой это ребенок! Давайте вместе оглянемся на первые дни этого малыша.

Родители вундеркинда работали в компании Sun Microsystems, которая в начале 90-х годов стояла перед задачей создания передового программного обеспечения для различных бытовых приборов, грубо говоря — для чайников. Основная про­блема состояла в том, что для каждой новой модели бытовой техники существо­вали свои технические стандарты.

Ведущему инженеру проекта Патрику Нотону приходилось поддерживать в раз­работке сотни интерфейсов, пока это ему окончательно не надоело. В один пре-



Иаория языка Java 13

красный день он решил уволиться ко всем чертям и понес заявление директору. Нужно отдать должное дальновидному руководству в лице Скотта МакНили, который попросил изложить причины ухода в подробном письме. Тут уж Патрик Нотон оторвался от души и написал все, что он думает о компании и о ее техноло­гиях, беспощадно раскритиковав недостатки Sun Microsystems.

Письмо возымело на удивление большой успех как у ведущих инженеров, так и у высшего руководства компании, а именно у Билла Джоя, основателя Sun Microsystems, и Джеймса Гослинга, непосредственного начальника Нотона. В день планируемого увольнения Патрик Нотон получает зеленый свет на реа­лизацию всех своих идей и собственную группу ведущих разработчиков под ко­довым названием Green, чтобы они делали что угодно, но создали нечто нео­быкновенное.

Команда приступила к разработке нового объектно-ориентированного языка про­граммирования, который должен был стать ведущим на рынке бытовой электро­ники. Вскоре Нотон предложил использовать новые наработанные технологии для интернет-приложений, в связи с чем были написаны компилятор Java и брау­зер Hotjava. 23 мая 1995 года компания Sun официально представила Java и Hotjava на выставке SunWorld'95. Именно тогда наш «малыш» сделал первый шаг к вашему мобильнику.

Платформа Java 2 Micro Edition (J2ME) была разработана уже ближе к нашим дням для устройств с ограниченными ресурсами памяти и процессора, таких как сотовые телефоны, пейджеры, смарт-карты, органайзеры и миникомпьютеры.

J2ME позволяет запускать Java-приложения на ресурсо-ограниченных вычисли­тельных устройствах. Для данных целей J2ME адаптирует существующую Java-технологию.



Глава 1

С чего начинать?

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

Перед тем как перейти непосредственно к программированию, рассмотрим все, что может пригодиться нам в процессе разработки приложений для мобильных телефонов. Подавляющее большинство людей обычно пропускают введение в любой книжке, которая попадает к ним в руки. Если вы относитесь к этой ка­тегории, то ничего страшного не произошло: информация там была чисто по­знавательного характера. Но начиная с этой главы, приготовьтесь к серьезной работе, поскольку программирование — это такая наука, которую нельзя вы­учить в теории.

Нужно отметить, что сейчас начинается самый главный этап в нашем обучении. Не сделав всего, что написано в первой главе, дальше можете и не продолжать читать этот самоучитель, поскольку его чтение без реальной практики — пустая трата времени.

В любом самоучителе на любую тему есть упражнения, которые необходимо вы­полнять. Ваши упражнения — это реализация примеров, описанных в книге, абез первого этапа — поиска и установки всего необходимого оборудования и программ­ного обеспечения — эти упражнения выполнять просто невозможно. Помните: чем строже учитель, тем большего результата он добьется. Запаситесь терпением и настойчивостью и не делайте себе поблажек.

Оборудование

Итак, начинаем! Первое и самое необходимое в нашем деле — это, конечно же, сотовый телефон с поддержкой языка Java. Тот, кто уже давно подключил свой телефон к компьютеру и успешно качает на него мелодии, картинки и Java-при­ложения, может смело пропустить вводную часть вплоть до программного обес­печения. Ну а те, у кого уже установлено и все описанное далее программное обес­печение, могут задуматься о том, не следует ли им отдать предпочтение более серьезной литературе.

Далеко не все телефоны поддерживают Java-приложения, и если вы не уверены относительно нужной вам модели, то стоит заглянуть в документацию телефона или на сайт разработчиков developers. sun. com/techtopics/mobility/device с полным списком моделей телефонов, поддерживающих Java-технологию.

Оборудование

15


Мобильные устройства не содержат собственных средств разработки — редакто­ров, компиляторов и прочих инструментов, да и не нужно это аппарату с двадца­тью кнопками и однодюймовым экранчиком. Поэтому придется прибегнуть к меж­платформенной разработке, то есть программировать на компьютере, а только потом переносить готовую программу на телефон. Таким образом, наличие ком­пьютера — такое же необходимое условие в разработке мобильных приложений, как и наличие телефона. Надеюсь, что на компьютере у вас установлена операци­онная система Windows (которую ругают все кому не лень, но тем не менее про­должают ею пользоваться), поскольку все рассмотренное далее программное обес­печение предназначено именно для этой системы.

Связать компьютер с телефоном можно несколькими способами. Мы рассмотрим наиболее простой и наименее дорогой способ связи через дата-кабель. Бывает, что дата-кабель идет в комплектации с телефоном, считайте тогда, что вам повез­ло. Если нет, то придется купить его отдельно, выложив за него от 15 до,20 долла­ров. Покупайте кабель только для своей модели телефона (обычно совместимые модели указаны на упаковке). Даже если разъем кабеля подходит к вашему теле­фону, то это еще ни о чем не говорит. В комплектации кабеля должен быть диск, содержащий драйвера для этого кабеля.

Для начала следует установить драйвер для вашего кабеля. Большинство совре­менных кабелей подключаются к USB-порту компьютера и при включении будут обнаружены системой как новое US B-устройство. Вслед за обнаружением нового устройства автоматически запустится мастер обнаружения нового оборудования, который помогает установить драйвер устройства (рис. 1.1).

Найден новый мастер оборудования







Установка драйверов оборудования

Драйвер • это программа, позволяющая устройству взаимодействовать с операционной системой.

пй устройстьа


■ Драйвером называется программа, ооеспечиваюшая работу устройства в операционной системе Длялюбого нового устройства требуется установить

драйверпая Window:. Чтобы найти Файлы драйверов н свершить установку.




Выберите действие. *;brufsa следует выполнить мастери р Дрреости гинеи подходящего драйвера для устройства

.. тг^. Ti.ii .... i" ■'"' ■

■;-(* Йывасти список »с** ызввегнь* драйверов для этого устрсй :: ;)№арогаяр«к1спжп>ьттйф^пй1йх№ший



Рис. 1.1. Мастер оборудования поможет установить нужный драйвер

Вставьте диск с драйверами для кабеля, выберите в окне мастера переключатель Провести поиск подходящего драйвера для устройства, на следующем этапе мастера



16

Глава 1. С чего начинать?

выберите пункт размещение будет указано, а на следующем шаге укажите на диске драйвер для вашей операционной системы. Если поиск нужного драйвера на дис­ке вызовет у вас затруднения, то можно вернуться к предыдущему этапу мастера и выбрать пункт дисководы компакт-дисков, тогда система выберет подходящий драйвер с диска автоматически.

Далее система установит драйвер и уведомит вас о том, что установка программ­ного обеспечения для нового устройства завершена, указав его название, к приме­ру, Prolific USB-to-Serial Comm Port. Жмите кнопку Готово.

Теперь можно посмотреть результат установки устройства. Щелкните правой кнопкой мыши на значке Мой компьютер на рабочем столе и выберите в контекст­ном меню самый нижний пункт — Свойства. Перейдите на вкладку Оборудование, запустите диспетчер устройств, нажав соответствующую кнопку, и проверьте пункт Порты СОМ и LPT. Здесь должно появиться новое устройство, а в скобках — номер СОМ-порта, с которым оно связано (рис. 1.2). Запомните этот номер: он вам пригодится для настройки программы связи компьютера с телефоном.




В-Щ KMILLER

IS Ш СЭ и компакт-дисководы



Щ § Видеоадаптеры

Ш-в Дисководы гибких дисков

ф 0 Дисковые устройства

(5 Ф Другие устройства

Ш ■<£.■ Звуковые, видео и игровые устройства

Клавиатуры

Компьютер

Контроллеры IDE ATA/ATAPI

Контроллеры гибких дисков

Контроллеры универсальной последовательной шины USB



ш

Мониторы

i Мыши и иные указывающие устройства -jf Порты СОМ и LPT



f Порт принтера ЕСР (LPT1)

у Последовательный порт (СОМ1)

у Последовательный порт (COM2)

ffi-в Сетевые платы

Ш Д CncTert*>ie устройства

ЕГгйЭ Тома хранения данных



Рис. 1.2. В списке устройств появился дата-кабель

Если вы видите новое устройство, значит установка прошла успешно. На самом деле, дата-кабель может дать неограниченные возможности по управлению вашим телефоном, от закачки новых игр, программ, мелодий и картинок до обеспечения компьютеру выхода в Интернет (технология GPRS) и прошивки исполняющей системы телефона. Кстати, с прошивками будьте аккуратны и всегда отдавайте себе отчет в том, что вы делаете — хотя бы для того, чтобы специалист, в случае чего, смог вам помочь.


Оборудование

17


Программы связи компьютера с телефоном не входят в комплект дата-кабеля, обычно они содержатся на диске, который идет в комплектации самого телефона. Если по каким-то причинам программа для закачки приложений не обнаружива­ется на диске или отсутствует сам диск, то придется искать программу, совмести­мую с вашей моделью телефона, в дебрях Интернета. Вооружитесь терпением: если у вашей модели телефона есть возможность закачки, значит должна быть и программа. Кто ищет, тот... сами знаете — что.

Для кого-то более легким покажется другой путь: зайти в киоск с программным обеспечением и купить себе один из многочисленных дисков типа «Все програм­мы для телефона...» (нужное вписать). К сожалению, в рамках данной главы мы не сможем рассмотреть программы для всех моделей телефонов, поэтому для примера ограничимся одной из подобных программ для аппаратов Nokia 7210, 3510i, 6100, 6610. Программа связи компьютера с телефоном, которую мы рас­смотрим, называется Mobile Media Browser (MobiMB), ее можно скачать по ад­ресу www.logomanager.co.uk, однако там она стоит денег, поэтому будем рассмат­ривать ее только в качестве наглядного пособия для всех программ такого рода, поскольку все они обладают схожими настройками и управлением.

Для настройки программы связи в меню Connection settings (Параметры соедине­ния) следует добавить новое соединениес помощью команды Add connection (До­бавить соединение). Вам будет предложено на выбор несколько типов кабелей, из которых вы должны выбрать тип своего кабеля, указанный на упаковке (типы кабелей могут быть, например, такими: FBUS, DLR-3, DKU-5). В свойствах ново­го соединения следует также указать номер СОМ-порта, с которым операцион­ная система связала наш кабель на этапе его установки.

Теперь подключаем телефон к компьютеру с помощью дата-кабеля, в программе MobiMB, может быть, потребуется нажать кнопку Refresh (Обновить), чтобы уско­рить процесс определения телефона программой. После того как телефон будет обнаружен и определен, в левом окне программы появится изображение телефона со списком, содержащим имена нескольких папок (рис. 1.3). Если на этом этапе соединение не устанавливается, попробуйте подключить кабель к другому USB-порту, проверьте соответствие кабеля вашей модели телефона, убедитесь, что ка­бель установлен в операционной системе, а соединение настроено правильно.



1IfMobiMB Mobile Media Browser




,| file *•№> ■

. .■. ..': '". :V ,'■'■ \ /.: * ~. :»;\.










В- ^ Nokia 6100

Marie ::

Steel

&|k]Sefary 1j Q Images rj Tones

: i||j Applications



В FIoat Point

41 KB 58 KB 63KB










Рис. 1.З. Медиа-браузер дает доступ к памяти телефона

18 Глава 1. С чего начинать?

Мы видим, что программа успешно обнаружила аппарат и дала нам доступ к четы­рем папкам телефона: Gatlery\Images, Gallery\Tones, Applications, Games, где хранятся картинки, мелодии, Java-приложения и Java-игры соответственно. В нижней стро­ке выводится объем свободной памяти телефона. Нас, конечно же, интересуют две последние папки: именно там мы будем размещать созданные нами программы.

Немного о программах, которые мы будем разрабатывать. Приложение для мо­бильного телефона состоит, как правило, из двух файлов: архива с расширением .jar, содержащего байт-код исполняемой части приложения и его ресурсы, и фай­ла-описателя с расширением .jad для первоначальной проверки совместимости с устройством и настройки различных атрибутов. После того как связь с телефо­ном установлена, с закачкой Java-приложения в телефон справится даже ребе­нок: нужно выделитьjar- H jad-файлы и перетащить их мышью в папку Applications или Games, после чего должен начаться процесс копирования.

Если копирование не началось, значит аппарат отвергает приложение, ориенти­руясь на параметры, указанные в jad-файле описателя программы. Причин может быть несколько: либо размер приложения превосходит максимально допустимый (например, для аппаратов Nokia серии 40 максимально допустимый размер при­ложения составляет 64 Кбайт), либо недостаточно свободной памяти, либо дан­ные в файле описателя некорректны.

Если приложение было успешно скопировано, то можно отсоединять телефон от провода, заходить в раздел, куда вы скопировали приложение, и запускать вашу программу, которая теперь не зависит от средств разработки, устройств связи и дополнительного оборудования. Теперь приложение всегда у вас в кармане и вы можете воспользоваться им в любой момент.

На этом обзор необходимого оборудования и его настройки закончен. Следу­ющий этап — поиск и установка средств разработки мобильных Java-приложе­ний. На этом этапе вам желательно иметь доступ в Интернет, поскольку именно там мы будем черпать необходимые программные ресурсы. Рассчитывайте на то, что в общей сложности вам придется скачать около 100 Мбайт. Если это непри­емлемо, то вам прямая дорога в интернет-кафе или крупный магазин с програм­мным обеспечением.



Программное обеспечение

Теперь рассмотрим необходимый минимум программного обеспечения, кото­рый должен быть установлен на вашем компьютере, чтобы перейти непосред­ственно к программированию. Сразу оговорюсь, что существует масса средств разработки, программ, студий, интегрируемых сред, и мы разберем лишь самый простой вариант программного обеспечения, своего рода необходимый «канди­датский минимум», без которого говорить дальше просто не о чем. Настоятель­но рекомендую устанавливать именно то, что я скажу, а не то, что под руку по­падется: так всем будет проще, поскольку на первом этапе объяснения я буду производить на пальцах — в стиле «нажми то, нажми это». Скажу также, что все программное обеспечение распространяется компанией Sun Microsystems абсо­лютно безвозмездно, то есть даром, поэтому, в худшем случае, вам придется пла­тить лишь за трафик.



Программное обеспечение

19


Технология языка Java связана с тем, что для запуска приложений требуется виртуальная машина Java. Наша операционная система, не буду лишний раз го­ворить какая, содержит свою версию виртуальной машины, которая, мягко го­воря, нам не подходит, поэтому следует раздобыть и установить исполняющую среду разработчика JavaTM 2 SDK, Standard Edition (J2SE SDK), version 1.4.2. Скачивается эта штуковина с сайта компании Sun Microsystems по адресу Java.sun.com/j2se/1.4.2/download.html, «весит» 52 Мбайт и устанавливается без особых проблем: когда попросят, смело жмите Next и соглашайтесь на все пред­ложенные условия. На всякий случай запомните, куда вы установили исполня­ющую среду, поскольку в дальнейшем какие-нибудь ленивые программы могут вас об этом спросить.

Второе, что нам понадобится, — это набор средств для разработки Java-приложе­ний Sun Java Wireless Toolkit (J2ME WTK). На данный момент на том же сайте разработчиков по адресу java.sun.com/products/sjwtoolkit/доступна версия WTK 2.3 Beta размером двадцать с небольшим мегабайт. Я же пользовался чуть ли не первой версией этого набора, которой оказалось вполне достаточно. Сам набор содержит все необходимые нам средства разработки: компилятор, упаковщик, несколько стан­дартных эмуляторов телефонов и еще некоторые полезные утилиты.

При установке WTK выполняет поиск виртуальной машины Java, уже нами ус­тановленной, и уточняет ее местоположение. Важно: устанавливать программу следует в папку, полный путь к которой не содержит пробелов и русских симво­лов, поскольку в дальнейшем это может привести к проблемам. На все вопросы в процессе установки следует отвечать утвердительно.

Основная утилита набора, которой мы будем пользоваться на протяжении всей книги, называется KToolbar (рис. 1.4).







J2ME Wireless Toolkit

file'"Edit; ■ PfoisicE' 'Help


P j*i Project




Create a new project or open an existing one

: ^ 4fcj New Project. ..


Рис. 1.4. Основное окно утилиты Ktoolbar

Это и есть, собственно, наше окно — если не в Европу, то в большой и увлекатель­ный мир мобильного программирования: необходимый минимум функциональ­ности, удобная навигация, в которой при всем желании сложно запутаться. На этом «обязательные программы», без которых просто нельзя разработать мо­бильное приложение, заканчиваются, и начинаются «произвольные программы», которые не обязательны, но желательны.



20 Глава 1. С чего начинать?

Эмуляторы

При разработке приложений нам неоднократно потребуется их тестировать, что­бы вовремя выявить возможные ошибки и неточности. Можно, конечно, каждый раз копировать программу на телефон, но, боюсь, это сделает процесс разработки слишком трудоемким и утомительным. Поэтому в процессе отладки удобно вос­пользоваться эмулятором телефона — программой, которая имитирует реальное устройство на вашем компьютере. Эмуляторы предоставляют возможность запус­ка, отладки и управления мобильным приложением, что позволит избежать мно­гократного копирования и поможет предотвратить ошибки, способные повредить содержимое памяти вашего мобильного устройства. Таким образом, весь цикл разработки приложения переносится на компьютер, а в телефон загружается толь­ко окончательная версия приложения.

Несколько эмуляторов содержатся в уже установленном нами наборе J2ME Wireless Toolkit. В дальнейшем мы будем их использовать, однако они имеют ряд серьезных недостатков. Во-первых, это эмуляторы «телефонов вообще», а не каких-то конк­ретных моделей, поэтому они не смогут отразить всей специфики конкретного ап­парата, начиная с размеров экрана и расположения функциональных клавиш и за­канчивая поддержкой специальных функций от разработчиков определенной марки. Во-вторых, эмуляторы встроены в J2ME WTK и не позволяют запускать приложе­ния, созданные не в этой среде разработки, то есть просто скопированные на компь­ютер. При желании это ограничение можно обойти, но особого смысла я в этом не вижу, поскольку существуют более продвинутые эмуляторы, которыми мы и вос­пользуемся.

К более продвинутым относится эмулятор телефона Nokia 7210, которым можно воспользоваться при тестировании приложений для любых моделей самой распро­страненной серии 40 телефонов Nokia. Эмулятор входит в состав среды разработки приложений Nokia 7210 MIDP SDK 1.0, который можно скачать бесплатно на сай­те разработчиков www.forum.nokia.com/tools (размер дистрибутива — 18 Мбайт). При установке пакета программа потребует серийный номер, который нужно отдельно получить на том же сайте. Соглашайтесь на все условия и вводите серийный номер. А теперь снова внимание: эмулятор нужно установить в папку wtklib\devices, нахо­дящуюся внутри директории, где установлен J2ME Wireless Toolkit. Делать это сле­дует для того, чтобы наш новый эмулятор автоматически добавился в список имити-руемых устройств интерфейсаJ2MEWTK, а также чтобы компилятор самостоятельно обнаружил специальные функции производителя.

После того как установка завершена, можно запускать эмулятор, который не толь­ко выглядит презентабельнее стандартных эмуляторов от Sun Microsystems и по­зволяет запускать Java-приложения, но и эмулирует все остальные функции теле­фона Nokia: записная книжка, будильник и даже настройки — все по-настоящему. Чтобы запустить приложение, нужно в меню File (Файл) выбрать команду Open (Открыть), после чего указать путь к приложению, которое следует запустить. Те­перь, прежде чем загружать себе в телефон все подряд, можно убедиться, что игра или программа действительно того стоит. Этим эмулятором я и буду пользоваться на протяжении всей книги (рис. 1.5).

Кроме собственно запуска приложений, с его помощью можно следить за трафи­ком сетевых приложений и распределением выделяемой памяти в окне статуса



Эмуляторы

21


выполнения приложения, которое можно открыть через пункт меню Tools (Инструменты). Отметим .!£«&;t?tfc :;aнельзя, поэтому не спешите, а делайте все по порядку, не забегая вперед.

Рис. 1.5. Так выглядит эмулятор

телефона с запущенной

на нем игрой


Мобильный вариант языка Java разрабатывал­ся как универсальный, то есть совместимый со всеми моделями телефонов, поддерживающи­ми стандарт J2ME. Однако в каждом аппарате могут быть свои нюансы: различия в размерах экрана, ограничение на объем приложений и другие подводные камни. Так что если вы со­брались продавать ваш программный продукт, будь то игра или просто полезное приложение, то обязательно нужно протестировать его на каждом аппарате из заявленного модельного ряда. Мало ли что — а подрыв репутации мо­жет быстро свести ваши заработки к нулю. Про­верить нужно хотя бы на эмуляторах, однако найти, скачать и установить эмуляторы всех мо­делей с поддержкой Java — занятие, мягко го­воря, кропотливое и требующее как минимум железной нервной системы. Здесь на помощь может прийти сетевая система под названием Tira Developer Network от компа­нии Tira Wireless, специализирующейся на раз­работке мобильных приложений. Данная систе­ма, доступная по адресу www.tiradeveloper.com, создана для тестирования приложений на совме­стимость со всеми распространенными моделя­ми телефонов. Для тестирования предлагается

около 150 мобильных устройств с поддержкой J2ME. В процессе проверки прило­жение может пройти около 60 специальных тестов, способных проверить совмес­тимость приложения со всеми распространенными стандартами. Для пользования системой вам достаточно зарегистрироваться на сайте, выбрать интересующее вас устройство, с помощью специальной формы закачать свое при­ложение и получить вердикт о соответствии вашего продукта выбранному уст­ройству. Удобно, не правда ли, тем более что платить за это никому не нужно. Хотя немного смущает тот факт, что для проведения тестов приложения нужно закачивать к ним на сайт. Поэтому, если вы категорически не желаете, чтобы ваше приложение безвозмездно оказалось в чужих руках, то лишний раз подумайте, надеяться на их порядочность или нет.

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


  • телефон с поддержкой Java-технологии,

  • компьютер с операционной системой Windows,

  • кабель для связи компьютера с телефоном.

22 Глава 1. С чего начинать?

При этом на компьютере должно быть установлено следующее программное обес­печение:



  • драйвер кабеля,

  • программа для закачки приложений в телефон,

  • исполняющая среда Java-разработки J2SE SDK (version 1.4.2),

  • набор средств для разработки J2ME WTK,

я эмулятор вашей модели телефона — желателен, но не обязателен.

Объем всего перечисленного программного обеспечения составляет не более 100 Мбайт.



* * *

На этом самый важный подготовительный этап закончен. В следующей главе мы перейдем непосредственно к программированию. Базовый набор программ и оборудования, рассмотренный в этой главе, является той самой точкой опоры, без которой никакие рычаги нам не помогут. Я понимаю, что вам уже не терпит­ся перейти к самому интересному, как в детективе — заглянуть в самый конец, но я не рекомендую этого делать, не усвоив всего, что написано в этой главе. Дальше вас ждет масса интересных примеров приложений. Реализуйте их, со­вершенствуйте, оптимизируйте - и помните, что не ошибается только тот, кто ничего не делает. Добро пожаловать в современный мир программирования для мобильных устройств!




Каталог: Техника -> Информационные%20технологии
Информационные%20технологии -> Методические рекомендации по построению систем защиты узлов интернет 1 требования к системе защиты узла интернет 2
Техника -> Учебная программа для специальности: 1-23 01 73 Средства массовой информации
Техника -> Ремонт китайских телефонов
Техника -> Для профилактики и лечения насморка Зачем промывать нос во время насморка?
Техника -> Учебная программа для специальности: 1-23 01 73 Средства массовой информации


Поделитесь с Вашими друзьями:
  1   2   3   4   5   6   7   8   9   ...   15




База данных защищена авторским правом ©vossta.ru 2022
обратиться к администрации

    Главная страница