Программирование мобильных телефонов на Java 2 Micro Edition
Покупка
Тематика:
Программирование на Java
Издательство:
ДМК Пресс
Год издания: 2009
Кол-во страниц: 336
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Аспирантура
ISBN: 5-94074-279-3
Артикул: 616139.01.99
Книга, которую вы держите в руках, представляет платформу Java 2 Micro Edition, являющуюся стандартом в программировании приложений для мобильных телефонов. В книге подробно и доступно объясняется архитектура платформы Java 2Micro Edition, состоящей из конфигураций и профилей. Рассматриваются две имеющиеся на данный момент версии профилей MIDP 1.0 и MIDP 2.0, на базе которых происходит построение мобильных приложений. В контексте этой книги изучаются основы построения мобильных программ, использование графики, техника создания игр для телефонов, работа со звуком. Разбирается большое количество классов пользовательского интерфейса, необходимых для создания интуитивно понятного и красивого интерфейса программ. Рассматриваются бесплатные среды программирования мобильных приложений от компании Sun Microsystems. Это Sun ONE Studio 4 Mobile Edition и Wireless Toolkit 2.1, а так же отдельные инструментарии от известных производителей телефонов Nokia, Siemens, Sony Ericsson, Motorola, Samsung для эмуляции мобильных устройств на компьютере. Книга будет интересна как начинающим программистам, так и более опытным не знакомым с платформой Java 2 Micro Edition. Поскольку в книге содержатся основы языка программирования Java, то пользоваться этой книгой могут и неподготовленные читатели. Книга также содержит полный справочник по интерфейсам, классам, методам, константам и исключениям платформы Java 2 Micro Edition.
Тематика:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Горнаков С. Г. ПРОГРАММИРОВАНИЕ МОБИЛЬНЫХ ТЕЛЕФОНОВ НА JAVA 2 MICRO EDITION Москва
УДК 004.438 ББК 32.973.26018.2 Горнаков С. Г. Программирование мобильных телефонов на Java 2 Micro Edition. – М.: ДМК Пресс. – 336 с.: ил. ISBN 5940742793 Книга, которую вы держите в руках, представляет платформу Java 2 Micro Edition, являющуюся стандартом в программировании приложений для мобильных телефонов. В книге подробно и доступно объясняется архитектура платформы Java 2 Micro Edition, состоящей из конфигураций и профилей. Рассматриваются две имеющиеся на данный момент версии профилей MIDP 1.0 и MIDP 2.0, на базе которых происходит построение мобильных приложений. В контексте этой книги изучаются основы построения мобильных программ, использование графики, техника создания игр для телефонов, работа со звуком. Разбирается большое количество классов пользовательского интерфейса, необходимых для создания интуитивно понятного и красивого интерфейса программ. Рассматриваются бесплатные среды программирования мобильных приложений от компании Sun Microsystems. Это Sun ONE Studio 4 Mobile Edition и Wireless Toolkit 2.1, а так же отдельные инструментарии от известных производителей телефонов Nokia, Siemens, Sony Ericsson, Motorola, Samsung для эмуляции мобильных устройств на компьютере. Книга будет интересна как начинающим программистам, так и более опытным не знакомым с платформой Java 2 Micro Edition. Поскольку в книге содержатся основы языка программирования Java, то пользоваться этой книгой могут и неподготовленные читатели. Книга также содержит полный справочник по интерфейсам, классам, методам, константам и исключениям платформы Java 2 Micro Edition. УДК 004.438 ББК 32.973.26018.2 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. © Горнаков С. Г. ISBN 5940742793 © Оформление, ДМК Пресс
Содержание Предисловие ................................................................................ 11 Что вы должны знать................................................................... 12 Какое программное обеспечение используется ......................... 13 О чем эта книга ........................................................................... 13 Содержание компактдиска........................................................ 14 Исходные коды ........................................................................... 15 Благодарности ........................................................................... 15 Об авторе ................................................................................... 15 Глава 1. Устройство мобильных телефонов........................ 16 1.1. Стандарт GSM...................................................................... 17 1.2. Архитектура телефонов ....................................................... 17 1.3. Прошивка и операционная система ..................................... 17 1.4. Инфракрасный порт ............................................................. 18 1.5. Технология Bluetooth ........................................................... 19 1.6. Протокол WAP ...................................................................... 19 1.7. Протокол GPRS .................................................................... 20 1.8. Карта SIM ............................................................................. 21 Глава 2. Платформа Java 2 Micro Edition .............................. 22 2.1. Конфигурация CDC .............................................................. 24 2.2. Конфигурация CLDC ............................................................ 25 2.2.1. Свойства языка Java ..................................................... 26 2.2.2. Виртуальная машина .................................................... 26 2.3. Профиль .............................................................................. 27 2.4. Профиль MIDP 2.0 и конфигурация CLDC 1.0 ....................... 29 2.4.1 Пакет java.lang ................................................................ 29 2.4.2. Пакет java.util ................................................................. 31 2.4.3. Пакет java.io................................................................... 32 2.4.4. Пакет javax.microedition.io ............................................. 34 2.4.5. Пакет javax.microedition.lcdui ......................................... 35 2.4.6. Пакет javax.microedition.lcdui.game ............................... 37 2.4.7. Пакет javax.microedition.media....................................... 37 2.4.8. Пакет javax.microedition.media.control ............................ 38 2.4.9. Пакет javax.microedition.midlet....................................... 38 2.4.10. Пакет javax.microedition.pki.......................................... 39 2.4.11. Пакет javax.microedition.rms ........................................ 39
Содержание Содержание Содержание Содержание Содержание Глава 3. Средства разработки мобильных приложений... 41 3.1. Установка Java 2 SDK SE ...................................................... 41 3.2. Среда программирования SUN ONE Studio 4 Mobile Edition ... 42 3.2.1. Настройка SUN ONE Studio 4 Mobile Edition ................... 44 3.2.2. Создание проекта в SUN ONE Studio 4 Mobile Edition .... 50 3.2.3. Создание приложений в SUN ONE Studio 4 Mobile Edition ........................................... 53 3.2.4. Компиляция и запуск программ в SUN ONE Studio 4 Mobile Edition ........................................... 55 3.3. Среда программирования J2ME Wireless Toolkit 2.1 ............. 57 3.3.1. Установка J2ME Wireless Toolkit 2.1 ............................... 57 3.3.2. Создание проекта в J2ME Wireless Toolkit 2.1 ................ 60 3.3.3. Компиляция и запуск программы в J2ME Wireless Toolkit 2.1 ....................................................... 63 3.4. Упаковка программ .............................................................. 64 3.4.1. Файл манифеста ........................................................... 64 3.4.2. Файл JAD ...................................................................... 65 3.4.3. Файл JAR ...................................................................... 66 Глава 4. Телефонные эмуляторы ........................................... 68 4.1. Программное обеспечение телефонов Nokia ....................... 69 4.1.1. Инструментарий Nokia Developer’s Suite 2.0 for J2ME ... 72 4.1.2. Программа Nokia PC Suite 5.1 ....................................... 77 4.1.3. Дополнительные пакеты Nokia ...................................... 78 4.2. Программное обеспечение телефонов Siemens .................. 78 4.2.1. Пакет Siemens Mobility Toolkit ........................................ 79 4.2.2. Программа Siemens Date Suite ...................................... 81 4.2.2. Дополнительные пакеты Siemens.................................. 81 4.3. Программное обеспечение телефонов Sony Ericsson .......... 83 4.4. Программное обеспечение телефонов Motorola .................. 85 4.5. Программное обеспечение телефонов Samsung ................. 86 Глава 5. Механизм работы приложений Java 2 ME ............ 89 5.1. Мидлет................................................................................. 89 5.1.1. Модель работы мидлета ............................................... 95 5.2. Пользовательский интерфейс.............................................. 97 5.3. Переход с экрана на экран ................................................... 99 5.4. Навигация .......................................................................... 104 Глава 6. Классы пользовательского интерфейса ............ 111 6.1. Класс Form ......................................................................... 111
Содержание Содержание Содержание Содержание Содержание 6.1.1. Методы класса Form ................................................... 112 6.2. Класс Item .......................................................................... 114 6.2.1. Класс ChoiceGroup ...................................................... 116 6.2.2. Класс DateField ........................................................... 122 6.2.3. Класс TextField ............................................................ 125 6.2.4. Класс StringItem .......................................................... 128 6.2.5. Класс Spacer ............................................................... 133 6.2.6. Класс ImageItem.......................................................... 135 6.2.7. Класс Gauge................................................................ 139 6.3. Класс Alert.......................................................................... 142 6.3.1. Методы класса Alert .................................................... 142 6.4. Класс List ........................................................................... 145 6.4.1. Методы класса List ...................................................... 146 6.5. Класс Ticker ....................................................................... 152 6.5.1. Методы класса Ticker .................................................. 152 6.6. Класс Image ....................................................................... 154 6.6.1. Методы класса Image.................................................. 154 6.7. Класс Font .......................................................................... 156 Глава 7. Программирование графики................................. 162 7.1. Класс Canvas...................................................................... 162 7.1.1. Методы класса Canvas ................................................ 163 7.2. Класс Graphics ................................................................... 164 7.2.1. Методы класса Graphics .............................................. 164 7.3. Рисование линий ............................................................... 167 7.4. Рисование прямоугольников.............................................. 170 7.5. Рисование дуг .................................................................... 174 7.6. Вывод текста...................................................................... 177 7.7. Механизм создания игрового цикла .................................. 178 7.8. Перемещение квадрата ..................................................... 180 7.9. Циклическое передвижение объекта по экрану ................. 184 7.10. Столкновение................................................................... 187 7.11. Перемещение объекта с помощью клавиш ...................... 190 Глава 8. Техника создания игр ............................................. 195 8.1. Класс GameCanvas ............................................................. 196 8.2. Класс Layer ........................................................................ 197 8.3. Класс TiledLayer ................................................................. 198 8.4. Класс LayerManager ........................................................... 199 8.5. Класс Sprite........................................................................ 200 8.6. Создание фонового изображения ...................................... 201
Содержание Содержание Содержание Содержание Содержание 8.7. Обработка событий с клавиш телефона ............................. 207 8.8. Анимация в игровом процессе ........................................... 213 8.9. Столкновение объектов ..................................................... 218 Глава 9. Мобильная мультимедиабиблиотека ................ 227 9.1. Пакет javax.microedition.media ............................................ 228 9.1.1. Интерфейс Control ...................................................... 228 9.1.2. Интерфейс Controllable ............................................... 228 9.1.3. Интерфейс Player ........................................................ 229 9.1.4. Интерфейс PlayerListener ............................................ 229 9.1.5. Класс Manager ............................................................ 230 9.2. Пакет javax.microedition.media.control ................................. 230 9.2.1. Интерфейс ToneControl ............................................... 230 9.2.2. Интерфейс VolumeControl ........................................... 231 9.3. Воспроизведение wavфайлов ........................................... 231 9.4. Воспроизведение тональных звуков .................................. 233 Заключение ................................................................................ 238 Приложение 1. Основы языка Java...................................... 239 1.1. Введение в программирование ......................................... 239 1.2. Объектноориентированное программирование ............... 240 1.2.1. Классы ........................................................................ 241 1.2.2. Методы ....................................................................... 241 1.3. Синтаксис и семантика языка Java 2 МЕ ............................ 242 1.3.1. Комментарии .............................................................. 243 1.3.2. Типы данных Java ........................................................ 244 1.3.3. Операторы .................................................................. 246 1.3.4. Метод main ................................................................. 248 1.3.5. Закрытые и открытые члены классов .......................... 250 1.4. Конструктор ....................................................................... 250 1.5. Объекты классов ................................................................ 251 1.6. Условные операторы.......................................................... 255 1.7. Управляющий оператор ..................................................... 256 1.8. Циклы ................................................................................ 256 1.8.1. Оператор while ............................................................ 257 1.8.2. Цикл do/while .............................................................. 259 1.8.3. Цикл for ....................................................................... 259 1.9. Массивы ............................................................................ 260 1.10. Наследование .................................................................. 262 1.10.1. Конструктор суперкласса.......................................... 264
Содержание Содержание Содержание Содержание Содержание 1.11. Интерфейсы..................................................................... 266 1.12. Пакеты ............................................................................. 267 Приложение 2. Справочник по Java 2 Micro Edition ......... 269 2.1. Пакет java.lang .................................................................... 269 2.1.1. Интерфейс Runnable ................................................... 269 2.1.2. Класс Boolean ............................................................. 269 2.1.3. Класс Byte ................................................................... 270 2.1.4. Класс Character ........................................................... 270 2.1.5. Класс Class ................................................................. 271 2.1.6. Класс Integer ............................................................... 271 2.1.7. Класс Long .................................................................. 272 2.1.8. Класс Math .................................................................. 273 2.1.9. Класс Object................................................................ 273 2.1.10. Класс Runtime ........................................................... 274 2.1.11. Класс Short ............................................................... 274 2.1.12. Класс String............................................................... 274 2.1.13. Класс StringBuffer ..................................................... 277 2.1.14. Класс System ............................................................ 278 2.1.15. Класс Thread ............................................................. 279 2.1.16. Класс Throwable ........................................................ 279 2.1.17. Исключения .............................................................. 280 2.1.18. Ошибки ..................................................................... 280 2.2. Пакет java.util ...................................................................... 280 2.2.1. Интерфейс Enumeration .............................................. 280 2.2.2. Класс Calendar ............................................................ 281 2.2.3. Класс Date .................................................................. 282 2.2.4. Класс Hashtable .......................................................... 282 2.2.5. Класс Random ............................................................. 283 2.2.6. Класс Stack ................................................................. 284 2.2.7. Класс Timer ................................................................. 284 2.2.8. Класс TimerTask .......................................................... 284 2.2.9. Класс TimeZone........................................................... 285 2.2.10. Класс Vector .............................................................. 285 2.2.11. Исключения .............................................................. 286 2.3. Пакет java.io ........................................................................ 286 2.3.1. Интерфейс DataInput .................................................. 287 2.3.2. Интерфейс DataOutput ................................................ 287 2.3.3. Класс ByteArrayInputStream......................................... 288 2.3.4. Класс ByteArrayOutputStream ...................................... 289 2.3.5. Класс DataInputStream ................................................ 289
Содержание Содержание Содержание Содержание Содержание 2.3.6. Класс DataOutputStream .............................................. 290 2.3.7. Класс InputStream ....................................................... 291 2.3.8. Класс InputStreamReader ............................................ 291 2.3.9. Класс OutputStream..................................................... 292 2.3.10. Класс OutputStreamWriter .......................................... 292 2.3.11. Класс PrintStream ...................................................... 293 2.3.12. Класс Reader ............................................................. 294 2.3.13. Класс Writer ............................................................... 294 2.3.14. Исключения .............................................................. 295 2.4. Пакет javax.microedition.io .................................................. 295 2.4.1. Интерфейс CommConnection ...................................... 295 2.4.2. Интерфейс Connection ................................................ 295 2.4.3. Интерфейс ContentConnection .................................... 295 2.4.4. Интерфейс Datagram .................................................. 296 2.4.5. Интерфейс DatagramConnection ................................. 296 2.4.6. Интерфейс HttpConnection.......................................... 296 2.4.7. Интерфейс HttpsConnection ........................................ 298 2.4.8. Интерфейс InputConnection ........................................ 298 2.4.9. Интерфейс OutputConnection ...................................... 298 2.4.10. Интерфейс SecureConnection ................................... 298 2.4.11. Интерфейс SecurityInfo ............................................. 298 2.4.12. Интерфейс ServerSocketConnection .......................... 299 2.4.13. Интерфейс SocketConnection.................................... 299 2.4.14. Интерфейс StreamConnection ................................... 299 2.4.15. Интерфейс StreamConnectionNotifier ........................ 299 2.4.16. Интерфейс UDPDatagramConnection ......................... 299 2.4.17. Класс Connector ........................................................ 300 2.4.18. Класс PushRegistry .................................................... 300 2.4.19. Исключение .............................................................. 301 2.5. Пакет javax.microedition.lcdui .............................................. 301 2.5.1. Интерфейс Choice....................................................... 301 2.5.2. Интерфейс CommandListener...................................... 302 2.5.3. Интерфейс ItemCommandListener ............................... 302 2.5.4. Интерфейс ItemStateListener....................................... 302 2.5.5. Класс Alert................................................................... 302 2.5.6. Класс AlertType............................................................ 303 2.5.7. Класс Canvas............................................................... 303 2.5.8. Класс ChoiceGroup ...................................................... 305 2.5.9. Класс Command .......................................................... 306 2.5.10. Класс CustomItem ..................................................... 307
Содержание Содержание Содержание Содержание Содержание 2.5.11. Класс DateField ......................................................... 308 2.5.12. Класс Display ............................................................. 308 2.5.13. Класс Displayable ...................................................... 310 2.5.14. Класс Font ................................................................. 310 2.5.15. Класс Form ................................................................ 311 2.5.16. Класс Gauge .............................................................. 312 2.5.17. Класс Graphics .......................................................... 313 2.5.18. Класс Image .............................................................. 315 2.5.19. Класс ImageItem ........................................................ 315 2.5.20. Класс Item ................................................................. 316 2.5.21. Класс List .................................................................. 317 2.5.22. Класс Screen ............................................................. 318 2.5.23. Класс Spacer ............................................................. 318 2.5.24. Класс StringItem ........................................................ 318 2.5.25. Класс TextBox ............................................................ 319 2.5.26. Класс TextField .......................................................... 320 2.5.27. Класс Ticker .............................................................. 321 2.6. Пакет javax.microedition.lcdui.game .................................... 321 2.6.1. Класс GameCanvas ...................................................... 321 2.6.2. Класс Layer ................................................................. 322 2.6.3. Класс LayerManager .................................................... 322 2.6.4. Класс Sprite................................................................. 323 2.6.5. Класс TiledLayer .......................................................... 324 2.7. Пакет javax.microedition.media ............................................ 324 2.7.1. Интерфейс Control ...................................................... 324 2.7.2. Интерфейс Controllable ............................................... 324 2.7.3. Интерфейс Player ........................................................ 325 2.7.4. Интерфейс PlayerListener ............................................ 325 2.7.5. Класс Manager ............................................................ 326 2.7.6. Исключения ................................................................ 326 2.8. Пакет javax.microedition.media.control ................................. 326 2.8.1. Интерфейс ToneControl ............................................... 326 2.8.2. Интерфейс VolumeControl ........................................... 327 2.9. Пакет javax.microedition.midlet ............................................ 327 2.9.1. Класс MIDlet ................................................................ 327 2.9.2. Исключение ................................................................ 328 2.10. Пакет javax.microedition.pki............................................... 328 2.10.1. Интерфейс Certificate ................................................ 328 2.10.2. Исключение .............................................................. 328 2.11. Пакет javax.microedition.rms ............................................. 328
10 10 10 10 Содержание Содержание Содержание Содержание Содержание 2.11.1. Интерфейс RecordComparator................................... 328 2.11.2. Интерфейс RecordEnumeration.................................. 329 2.11.3. Интерфейс RecordFilter ............................................. 329 2.11.4. Интерфейс RecordListener ........................................ 329 2.11.5. Класс RecordStore ..................................................... 330 Приложение 3. Структура компактдиска.......................... 331 Список используемой литературы ........................................... 333 Алфавитный указатель .............................................................. 334