Скачать 2.79 Mb.
|
Е. Буткевич Пишем ПРОГРАММЫ и ИГРЫ для сотовых ТЕЛЕФОНОВ Москва • Санкт-Петербург • Нижний Новгород • Воронеж Ростов-на-Дону • Екатеринбург • Самара • Новосибирск Киев • Харьков • Минск 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-технологию. |
Логия 6-е издание Москва • Санкт-Петербург ■ Нижний Новгород ■ Воронеж... Сканирование и форматирование: Янко Слава (Библиотека Fort/Da) || || |
Интервью с пациентами 72 Имя панацеи скипидарные ванны 72 «Я был готов даже на эвтаназию» Москва Санкт-Петербург Нижний Новгород Воронеж Ростов-на-Дону Екатеринбург Самара Новосибирск Киев Харьков Минск |
||
Редактор Художник Корректоры Верстка Е. Строганова Е. Журавлева Ю.... Москва Санкт-Петербург Нижний Новгород – Воронеж Ростов-на-Дону Екатеринбург – Самара Киев Харьков Минск |
Питер москва • Санкт-Петербург • Нижний Новгород • Воронеж Ростов-на-Дону... П18 Коучинг в обучении: практические методы и техники / Э. Парслоу, М. Рэй. — Спб.: Питер, 2003. — 204 с: ил. — (Серия «Практическая... |
||
Научный редактор Редактор Художественный редактор Корректоры Верстка... Москва • Санкт-Петербург • Нижний Новгород • Воронеж Ростов-на-Дону • Екатеринбург • Самара • Новосибирск Киев • Харьков • Минск... |
Москва • Санкт Петербург • Нижний Новгород ■ Воронеж Ростов-на Дону... Книга предназначена для широкого круга читателей, которых волнуют проблемы и достижения современной психологии. Материалы этой работы... |
||
Министерства образования РФ москва • Санкт-Петербург ■ Нижний Новгород... Учебник предназначен для студентов психологических факультетов университетов и институтов, слушателей факультетов и курсов повышения... |
Итоги 5-летия реализации Президентской программы в ниу вшэ нижний... Национальный исследовательский университет высшая школа экономики нижний новгород |
||
Новости компании Иркутск Казань Калуга Канск Кемерово Киров Комсомольск на Амуре Красноярск Курган Липецк Москва Нижний Новгород Новокузнецк Новосибирск... |
Автогенного сварочного оборудования и технологий Нижний Новгород 603014, г. Нижний Новгород ул. Нартова, д. 23 «А» Сормовское шоссе, д. 24, корп. 36 |
||
Годовойотче т открытого акционерного общества «международный аэропорт... Совет директоров ОАО «Международный аэропорт Нижний Новгород» представляет годовой отчет о деятельности Открытого акционерного общества... |
Оао «жтк» Нижний Новгород 2016 г. Котировочная документация Место нахождения, почтовый адрес: 603116, г. Нижний Новгород, ул. Гордеевская д. 1/3 каб. 17 |
||
О проведение запроса котировок Заказчик: Частное учреждение здравоохранения «Дорожная клиническая больница на станции Нижний Новгород открытого акционерного общества... |
О проведение запроса котировок Заказчик: Частное учреждение здравоохранения «Дорожная клиническая больница на станции Нижний Новгород открытого акционерного общества... |
||
О проведение запроса котировок Заказчик: Частное учреждение здравоохранения «Дорожная клиническая больница на станции Нижний Новгород открытого акционерного общества... |
Г. Санкт-Петербург 09. 09. 2014 г Предмет закупки: поставка бытовой техники: холодильников и микроволновых печей (далее Товар) в здания ниу вшэ – Санкт-Петербург,... |
Поиск |