ebook img

Symbian OS. Программирование мобильных телефонов на С++ и Java 2 ME PDF

451 Pages·2008·4.997 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Symbian OS. Программирование мобильных телефонов на С++ и Java 2 ME

Горнаков C. Г. SYMBIAN OS ПРОГРАММИРОВАНИЕ МОБИЛЬНЫХ ТЕЛЕФОНОВ НА С++ И JAVA 2 ME Москва УДК 004.438 ББК 32.973.26(cid:6)018.2 Г26 Горнаков С. Г. Г26 Symbian OS. Программирование мобильных телефонов на С++ и Java 2 ME. – М.: ДМК Пресс.– 448 с.: ил. ISBN 5(cid:6)94074(cid:6)030(cid:6)8 Создание мобильных приложений для операционной системы Symbian– сложная и трудоемкая задача. Эта книга познакомит вас с основами про% граммирования для Symbian OS на языке программирования C++, а одна из глав посвящена программированию Java 2 ME приложений. Темы, рас% сматриваемые в книге весьма разносторонние – это интегрированные среды программирования CodeWarrior for Symbian, C++ BuilderX Mobile Studio, инструментальные средства разработчика SDK от Symbian, Sony Ericsson и Nokia для платформ UIQ, серии 60, серии 80 и серии 90. Большой объем информации освящает вопросы, связанные с программной архитектурой операционной системы, основными идиомами программирования в Sym% bian OS, структурой и созданием GUI приложения, локализацией, работой с меню, элементами пользовательского интерфейса, графикой, изображе% ниями, созданием инсталляционного пакета. Книга будет интересна широкому кругу читателей, желающим самосто% ятельно изучить программирование для операционной системы Symbian на языке C++. УДК 004.438 ББК 32.973.26(cid:6)018.2 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения вла% дельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответ% ственности за возможные ошибки, связанные с использованием книги. © Горнаков С. Г. ISBN 5%94074%030%8 © Оформление, ДМК Пресс Содержание Предисловие ................................................................................14 Структура книги..........................................................................15 Что вы должны знать...................................................................16 Программное обеспечение ........................................................16 Исходные коды...........................................................................16 Благодарности ...........................................................................17 Глава 1. Знакомство с Symbian OS ........................................18 1.1. Работа в Symbian OS............................................................20 1.2. Навигация............................................................................22 1.3. Интернет..............................................................................23 1.4. Java#приложения .................................................................25 1.5. Программы на C++...............................................................27 1.6. Обзор программ для SymbianOS.........................................28 1.6.1. Файловые менеджеры ..................................................29 1.6.2. Веб#браузеры...............................................................29 1.6.3. Мультимедиа ................................................................30 1.6.4. Игры .............................................................................32 Глава 2. Среда программирования IDE Metrowerks CodeWarrior for Symbian OS.....................................................33 2.1. Установка CodeWarrior for Symbian Personal v2.8.3...............35 2.2. Знакомство с Metrowerks CodeWarrior for Symbian Personal v2.8.3 ............................................................................38 2.2.1. Меню File ......................................................................40 2.2.2. Меню Edit......................................................................40 2.2.3. Меню View.....................................................................41 2.2.4. Меню Search.................................................................42 2.2.5. Меню Project.................................................................43 44444 СССССооооодддддеееееррррржжжжжаааааннннниииииеееее 2.2.6. Меню Debug..................................................................44 2.2.7. Меню Window ................................................................45 2.2.8. Меню Help.....................................................................46 2.2.9. Панель инструментов....................................................46 2.2.10. Окно Workspace...........................................................47 2.2.11. Текстовый редактор....................................................49 2.3. Настройка Metrowerks CodeWarrior ......................................51 2.3.1. Группа General ..............................................................52 2.3.2. Группа Editor.................................................................56 2.3.3. Группа Debugger...........................................................61 2.4. Создание проекта................................................................63 2.5. Импорт проекта ...................................................................65 2.6. Компиляция проекта............................................................67 2.7. Создание установочного пакета...........................................69 Глава 3. IDE C++ BuilderX Mobile Studio ................................72 3.1. Установка IDE C++ BuilderX Mobile Studio .............................73 3.2. Изучаем C++ BuilderX...........................................................75 3.2.1. Меню File ......................................................................76 3.2.2. Меню Edit......................................................................77 3.2.3. Меню Search.................................................................78 3.2.4. Меню View.....................................................................78 3.2.5. Меню Project.................................................................79 3.2.5. Меню Run......................................................................79 3.2.6. Меню Team....................................................................80 3.2.7. Меню Wizards................................................................80 3.2.8. Меню Tools....................................................................80 3.2.9. Меню Window ................................................................80 3.2.10. Меню Help...................................................................81 3.2.11. Панель инструментов..................................................81 3.2.12. Панель Project.............................................................82 3.3. Подключение SDK................................................................83 3.4. Создание проекта................................................................84 3.5. Импорт проекта...................................................................86 3.6. Компиляция проекта............................................................87 3.7. Создание установочного пакета...........................................88 Глава 4. Инструментальные средства разработчика........89 4.1. Программные средства компании Sony Ericsson .................90 4.1.1. Установка SDK ..............................................................91 СССССооооодддддеееееррррржжжжжаааааннннниииииеееее 55555 4.1.2. Эмуляторы телефонов Sony Ericsson ............................94 4.2. Программные средства компании Nokia..............................95 4.2.1. Серия 60 .......................................................................97 4.2.2. Серия 80 .......................................................................98 4.2.3. Серия 90 .....................................................................100 4.2.4. Программа SISAR .......................................................102 Глава 5. Архитектура Symbian OS ........................................105 5.1. Аппаратная архитектура ....................................................106 5.2. Системные библиотеки......................................................107 5.3. Программная архитектура .................................................108 5.3.1. Ядро и аппаратная часть системы...............................109 5.3.2. Базовые сервисы........................................................109 5.3.3. Сервисы операционной системы................................110 5.3.4. Пользовательские сервисы.........................................112 5.3.5. Инфраструктура пользовательского интерфейса .......113 5.4. Файловая система .............................................................113 5.4.1. Диск Z.........................................................................114 5.4.2. Диск C.........................................................................114 5.4.3. Диск D.........................................................................115 5.4.4. Диск E.........................................................................115 5.4.5. Оперативная память ...................................................116 Глава 6. Основы программирования в Symbian OS..........117 6.1. Классы...............................................................................118 6.1.1. Классы C.....................................................................118 6.1.2. Классы R.....................................................................118 6.1.3. Классы T .....................................................................118 6.1.4. Классы M ....................................................................119 6.1.5. Статические классы....................................................119 6.2. Функции.............................................................................119 6.2.1. Уходящие функции......................................................119 6.2.2. Неуходящие функции..................................................120 6.2.3. Функции LC.................................................................120 6.2.4. Функции Set................................................................120 6.2.5. Функции Get................................................................120 6.3. Структуры ..........................................................................120 6.4. Макросы ............................................................................121 6.5. Имена переменных ............................................................121 6.6. Простые типы данных ........................................................121 6.7. Рекомендации ...................................................................122 66666 СССССооооодддддеееееррррржжжжжаааааннннниииииеееее Глава 7. Структура приложений в Symbian OS..................124 7.1. Системные классы.............................................................124 7.1.1. Платформа UIQ ...........................................................126 7.1.2. Серия 60 .....................................................................126 7.2. Базовая составляющая приложения ..................................127 7.2.1. Класс Application.........................................................127 7.2.2. Класс Document..........................................................128 7.2.3. Класс App UI................................................................128 7.2.4. Класс App View............................................................128 7.3. Первая программа.............................................................129 7.3.1. Работа системы ..........................................................130 7.3.2. Класс CTestApplication.................................................131 7.3.3. Класс CTestDocument..................................................133 7.3.4. Класс CTestAppUi ........................................................136 7.3.5. Класс CTestAppView ....................................................140 7.3.6. Файл Test_Main.cpp.....................................................144 7.3.7. Файл Test.pan..............................................................145 7.3.8. Файл Test.hrh ..............................................................145 7.3.9. Файл Test_Caption.rss..................................................146 7.3.10. Файл Test.rss.............................................................147 7.3.11. Файл bld.inf...............................................................149 7.3.12. Файл Test.mmp..........................................................149 7.3.13. Файл Test.pkg............................................................151 7.4. Уникальные идентификаторы UID ......................................154 7.4.1. Идентификатор UID1...................................................155 7.4.2. Идентификатор UID2...................................................155 7.4.3. Идентификатор UID3...................................................155 7.4.5. Идентификаторы платформы......................................156 7.5. Добавляем иконку в приложение .......................................157 7.5.1. Добавление AIF ресурсов в C++ BuilderX.....................162 7.6. Сборка проекта компилятором ..........................................163 7.7. Создание установочного пакета SIS...................................166 Глава 8. Интерфейс пользователя ......................................167 8.1. Платформа UIQ ..................................................................167 8.1.1. Панель Application Picker.............................................167 8.1.2. Панель Menu bar .........................................................167 8.1.3. Клиентская область экрана.........................................168 8.1.4. Панель Toolbar ............................................................168 8.1.5. Панель Status bar ........................................................168 СССССооооодддддеееееррррржжжжжаааааннннниииииеееее 77777 8.2. Серия 60 ............................................................................168 8.2.1. Панель Status Pane .....................................................168 8.2.2. Панель Main Pane........................................................169 8.2.3. Панель Control Pane ....................................................169 8.3. Ресурсы .............................................................................169 8.4. Меню .................................................................................170 8.5. Локализация......................................................................181 8.6. Получение данных от пользователя ...................................186 8.7. Списки...............................................................................187 8.7.1. Вертикальный список .................................................188 8.7.2. Список Grid.................................................................192 8.7.3. Список Setting.............................................................193 8.7.4. Демонстрационный пример Setting List ......................199 Глава 9. Программирование графики.................................223 9.1. Рисование линий ...............................................................224 9.2. Рисуем прямоугольник ......................................................230 9.3. Рисуем эллипс ...................................................................235 9.4. Рисуем часть круга.............................................................238 9.5. Текст и шрифт....................................................................242 9.6. Работа с изображениями...................................................251 Глава 10. Программирование Java приложений..............255 10.1. Платформа Java 2 ME.......................................................255 10.1.1. Конфигурация CLDC .................................................256 10.1.2. Профили MIDP ..........................................................257 10.2. Мидлет.............................................................................258 10.2.1. Структура работы мидлета........................................259 10.2.2. Экранная навигация..................................................263 10.3. Высокоуровневый пользовательский интерфейс.............265 10.3.1. Класс TextBox............................................................265 10.3.2. Класс List ..................................................................265 10.3.3. Класс Alert.................................................................266 10.3.4. Класс Form................................................................266 10.3.5. Класс ChoiceGroup....................................................267 10.3.6. Класс StringItem........................................................267 10.3.7. Класс TextField ..........................................................267 10.3.8. Класс DateField .........................................................267 10.3.9. Класс Spacer.............................................................268 10.3.10. Класс ImageItem......................................................268 88888 СССССооооодддддеееееррррржжжжжаааааннннниииииеееее 10.3.11. Класс Gauge............................................................268 10.3.12. Класс CustomItem....................................................268 10.3.13. Класс Font...............................................................269 10.3.14. Класс Ticker.............................................................269 10.4. Низкоуровневый пользовательский интерфейс ...............269 10.4.1. Класс Canvas.............................................................270 10.4.2. Класс Graphics ..........................................................270 10.4.3. Класс GameCanvas....................................................271 10.4.4. Класс Layer ...............................................................272 10.4.5. Класс TiledLayer ........................................................272 10.4.6. Класс LayerManager..................................................272 10.4.7. Класс Sprite...............................................................272 10.5. Звуковое сопровождение.................................................273 10.6. Распространение Java 2 ME программ.............................273 10.7. Среда программирования J2ME Wireless Toolkit 2.2 .........274 10.8. Другие средства программирования Java 2 ME приложений..............................................................................274 Заключение ................................................................................276 Приложение 1. Справочник...................................................277 1.1. Graphics 2D Hardware Acceleration.......................................277 1.2. Agenda Entry and Instance...................................................280 1.3. Agenda File .........................................................................282 1.4. Agenda Server Client Side....................................................283 1.5. Agenda Model Utilities .........................................................283 1.6. Alarm Server .......................................................................284 1.7. Animation ............................................................................286 1.8. Application architecture framework.......................................287 1.9. Application architecture services ..........................................289 1.10. Application Utilities ............................................................290 1.11. Array keys .........................................................................290 1.12. Asynchronous Services......................................................291 1.13. B#Trees.............................................................................291 1.14. Backup Server Client .........................................................292 1.15. Basic Types.......................................................................292 1.16. Bitmap Animation...............................................................294 1.17. Bitmaps ............................................................................294 1.18. Bitmap Transform ..............................................................295 1.19. Bluetooth HCI Extension.....................................................296 СССССооооодддддеееееррррржжжжжаааааннннниииииеееее 99999 1.20. Bluetooth Security Manager...............................................296 1.21. Bluetooth Service Discovery Agent .....................................296 1.22. Bluetooth Service Discovery Database................................297 1.23. Bluetooth Sockets .............................................................298 1.24. Bluetooth UI ......................................................................300 1.25. Calendar Conversion..........................................................301 1.26. Certificate Manager...........................................................302 1.27. Character Conversion ........................................................306 1.28. Character Conversion Plug#In Provider................................306 1.29. Character Representation of Real Numbers.........................306 1.30. Circular Buffers .................................................................307 1.31. Client/Server.....................................................................307 1.32. Clipboard ..........................................................................307 1.33. Clock ................................................................................307 1.34. Command Line Parsing ......................................................308 1.35. CommDb ..........................................................................309 1.36. Connection Management...................................................310 1.37. Contacts Model .................................................................311 1.38. Contact Views....................................................................314 1.39. Converter Architecture.......................................................315 1.40. Cookies Support................................................................316 1.41. Critical Sections ................................................................317 1.42. Data Application Model ......................................................317 1.43. Date and Time Handling .....................................................319 1.44. DBMS Columns, Column Sets and Keys..............................320 1.45. DBMS Database Incremental Operations.............................321 1.46. Interface to DBMS Databases.............................................321 1.47. DBMS Rowsets..................................................................322 1.48. DBMS Sharing Databases..................................................323 1.49. Descriptor Arrays...............................................................323 1.50. Descriptors .......................................................................324 1.51. Device drivers....................................................................326 1.52. Dial...................................................................................327 1.53. Dynamically Loading Link Libraries......................................328 1.54. Dynamic Arrays .................................................................328 1.55. Dynamic Buffers................................................................330 1.56. ECom Plug#in Architecture .................................................330 1.57. Embedding........................................................................331 1.58. Encrypted Streams and Stores ...........................................332 1.59. Environment Change Notifier..............................................332 1111100000 СССССооооодддддеееееррррржжжжжаааааннннниииииеееее 1.60. ETel Core...........................................................................332 1.61. Extended Notifier Framework .............................................332 1.62. Fax Client..........................................................................333 1.63. Fax Client MTM..................................................................333 1.64. Fax Header Line.................................................................334 1.65. Fax Store...........................................................................334 1.66. File Logging.......................................................................335 1.67. File Server Client Side ........................................................335 1.68. Writing a file system ...........................................................337 1.69. File stores .........................................................................339 1.70. Fixed Size Arrays ...............................................................339 1.71. Fonts ................................................................................340 1.72. Fonts and Bitmaps.............................................................341 1.73. Front End Processors.........................................................341 1.74. FTP Engine........................................................................342 1.75. Graphics ...........................................................................343 1.76. Graphics Foundations ........................................................344 1.77. Grid Foundations ...............................................................345 1.78. Grid ..................................................................................345 1.79. Hardware Abstraction Layer (HAL).......................................346 1.80. Handles ............................................................................346 1.81. Hardware Accelerator .........................................................347 1.82. Help Model........................................................................349 1.83. HTTP Client .......................................................................350 1.84. HTTP Message ..................................................................353 1.85. HTTP Transport Layer.........................................................353 1.86. Image Converter................................................................354 1.87. Incremental Matcher..........................................................355 1.88. Interface to Resource Files.................................................355 1.89. Internet Mail......................................................................356 1.90. Internet Protocol Utility.......................................................360 1.91. Interrupt architecture .........................................................364 1.92. IPSec................................................................................364 1.93. IrDA Sockets .....................................................................365 1.94. InfraRed Transfer Picture Protocol.......................................365 1.95. Lexical Analysis ..................................................................366 1.96. Literal Descriptors..............................................................366 1.97. Locale Settings..................................................................367 1.98. Log Engine........................................................................369 1.99. Maths Services..................................................................370

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.