Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 637035)
Контекстум
Электро-2024

Android NDK. Разработка приложений под Android на С/С++ (2000,00 руб.)

0   0
Первый авторРетабоуил Сильвен
ИздательствоМ.: ДМК Пресс
Страниц497
ID834933
АннотацияВ книге показано, как создавать мобильные приложения для платформы Android на языке C/C++ с использованием пакета библиотек Android Native Development Kit (NDK) и объединять их с программным кодом на языке Java. Вы узнаете как создать первое низкоуровневое приложение для Android, как взаимодействовать с программным кодом на Java посредством механизма Java Native Interfaces, как соединить в своем приложении вывод графики и звука, обработку устройств ввода и датчиков, как отображать графику с помощью библиотеки OpenGL ES и др.
Кому рекомендованоИздание предназначено для разработчиков мобильных приложений, как начинающих так и более опытных, уже знакомых с программированием под Android с использованием Android SDK.
ISBN978-5-89818-542-8
УДК004.451.9Android
ББК32.973.26-018.2
Ретабоуил, С. Android NDK. Разработка приложений под Android на С/С++ / С. Ретабоуил .— Пер. с англ. А. Н. Киселёва. — 2-е изд., эл. — Москва : ДМК Пресс, 2023 .— 497 с. — 1 файл pdf : 497 с. — Мо- сква : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. — ISBN 978-5-89818-542-8 .— URL: https://rucont.ru/efd/834933 (дата обращения: 29.05.2024)

Предпросмотр (выдержки из произведения)

Android_NDK._Разработка_приложений_под_Android_на_СС++.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
Android_NDK._Разработка_приложений_под_Android_на_СС++.pdf
УДК 004.451.9Android ББК 32.973.26-018.2 P31 P31 Ретабоуил, Сильвен. Android NDK. Разработка приложений под Android на С/С++ / С. Ретабоуил ; пер. с англ. А. Н. Киселёва. — 2-е изд., эл. — 1 файл pdf : 497 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-542-8 В книге показано, как создавать мобильные приложения для платформы Android на языке C/C++ с использованием пакета библиотек Android Native Development Kit (NDK) и объединять их с программным кодом на языке Java. Вы узнаете как создать первое низкоуровневое приложение для Android, как взаимодействовать с программным кодом на Java посредством механизма Java Native Interfaces, как соединить в своем приложении вывод графики и звука, обработку устройств ввода и датчиков, как отображать графику с помощью библиотеки OpenGL ES и др. Издание предназначено для разработчиков мобильных приложений, как начинающих так и более опытных, уже знакомых с программированием под Android с использованием Android SDK. УДК 004.451.9Android ББК 32.973.26-018.2 Электронное издание на основе печатного издания: Android NDK. Разработка приложений под Android на С/С++ / С. Ретабоуил ; пер. с англ. А. Н. Киселёва. — Москва : ДМК Пресс, 2014. — 496 c. — ISBN 978-597060-079-5. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-542-8 © Packt Publishing © Оформление, ДМК Пресс, 2014
Стр.5
Содержание Об авторе ............................................................................. 13 О рецензентах .................................................................... 14 Предисловие ....................................................................... 15 Глава 1 Подготовка окружения ..................................................... 23 Приступая к разработке программ для Android ................... 23 Настройка в Windows .......................................................... 24 Время действовать – подготовка Windows для разработки на платформе Android ................................ 24 Установка инструментов разработки для Android в Windows............................................................................ 29 Время действовать – установка Android SDK и NDK в Windows............................................................................ 30 Настройка в Mac OS X ......................................................... 36 Время действовать – подготовка Mac OS X для разработки на платформе Android ................................ 36 Установка инструментов разработки для Android в Mac OS X .......................................................................... 38 Время действовать – установка Android SDK и NDK в Mac OS X .......................................................................... 38 Настройка в Linux ................................................................ 40
Стр.6
6 Содержание Время действовать – подготовка Ubuntu Linux для разработки на платформе Android ................................ 41 Установка инструментов разработки для Android в Linux ..... 46 Время действовать – установка Android SDK и NDK в Ubuntu .............................................................................. 46 Настройка среды разработки Eclipse .................................. 48 Время действовать – установка Eclipse ............................... 49 Эмулятор платформы Android ............................................. 53 Время действовать – создание виртуального устройства на платформе Android ......................................................... 53 Вперед, герои! .................................................................... 56 Разработка с действующим устройством на платформе Android в Windows и Mac OS X .............................................. 58 Время действовать – подключение действующего устройства на платформе Android в Windows и Mac OS X ..... 58 Разработка с действующим устройством на платформе Android в Linux ..................................................................... 60 Время действовать – подключение действующего устройства на платформе Android в Ubuntu ......................... 60 Устранение проблем подключения устройства ................... 64 В заключение ...................................................................... 66 Глава 2 Создание, компиляция и развертывание проектов ............................................................................... 67 Компиляция и развертывание примеров приложений из комплекта Android NDK .................................................. 68 Время действовать – компиляция и развертывание примера hellojni .................................................................. 68 Вперед, герои – компиляция демонстрационного приложения san angeles OpenGL ......................................... 72 Исследование инструментов Android SDK ........................... 75 Android Debug Bridge ...................................................... 75
Стр.7
Содержание 7 Вперед, герои – запись файла на SD-карту из командной строки .......................................................... 77 Инструмент настройки проекта ...................................... 78 Вперед, герои – к непрерывной интеграции ....................... 79 Создание первого проекта приложения для Android с помощью Eclipse .............................................................. 81 Время действовать – создание проекта на Java .................. 81 Введение в Dalvik ........................................................... 85 Взаимодействие Java и C/C++ ............................................ 86 Время действовать – вызов программного кода на языке C из Java ............................................................... 86 Подробнее о файлах Makefile ......................................... 91 Компиляция низкоуровневого программного кода из Eclipse ............................................................................ 94 Время действовать – создание гибридного проекта Java/C/C++ ......................................................................... 94 В заключение ...................................................................... 99 Глава 3 Взаимодействие Java и C/C++ посредством JNI ..... 101 Работа со значениями простых типов языка Java .............. 102 Время действовать – создание низкоуровневого хранилища ........................................................................ 102 Вперед, герои – получение и возврат значений других простых типов ................................................................... 114 Ссылка на Java-объекты из низкоуровневого кода ............ 115 Время действовать – сохранение ссылки на объект .......... 115 Локальные и глобальные ссылки JNI ............................. 120 Возбуждение исключений из низкоуровневого кода ......... 122 Время действовать – возбуждение исключений в приложении Store ........................................................... 122 JNI в C++ ...................................................................... 127 Обработка Java-массивов ................................................ 128
Стр.8
8 Содержание Время действовать – сохранение ссылки на объект .......... 128 Проверка исключений JNI ............................................ 138 Вперед, герои – обработка массивов других типов ........... 139 В заключение .................................................................... 139 Глава 4 Вызов функций на языке Java из низкоуровневого программного кода .................... 141 Синхронизация операций в Java и низкоуровневых потоках выполнения ......................................................... 142 Время действовать – запуск фонового потока выполнения ...................................................................... 143 Присоединение и отсоединение потоков выполнения .................................................................. 153 Подробнее о Java и жизненном цикле низкоуровневого кода .................................................. 155 Обратный вызов Java-методов из низкоуровневого кода .................................................................................. 156 Время действовать – вызов Java-методов из низкоуровневого потока выполнения ........................... 157 Еще об обратных вызовах ............................................. 168 Определение методов в механизме JNI........................ 170 Низкоуровневая обработка растровых изображений ........ 171 Время действовать – декодирование видеопотока от встроенной камеры в низкоуровневом коде ................. 171 В заключение .................................................................... 182 Глава 5 Создание исключительно низкоуровневых приложений ....................................................................... 184 Создание низкоуровневого визуального компонента ....... 185 Время действовать – создание простейшего низкоуровневого визуального компонента ....................... 185
Стр.9
Содержание 9 Обработка событий визуального компонента ................... 193 Время действовать – обработка событий в визуальном компоненте ....................................................................... 194 Еще о модуле связи android_native_app_glue ................ 206 Вперед, герои – сохранение состояния визуального компонента ....................................................................... 211 Доступ к окну и получение времени из низкоуровневого кода .................................................................................. 212 Время действовать – отображение простой графики и реализация таймера ...................................................... 213 Еще о функциях для работы со временем ..................... 222 В заключение .................................................................... 223 Глава 6 Отображение графики средствами OpenGL ES ........ 224 Инициализация OpenGL ES ............................................... 225 Время действовать – инициализация OpenGL ES .............. 226 Чтение текстур в формате PNG с помощью диспетчера ресурсов ........................................................................... 235 Время действовать – загрузка текстуры в OpenGL ES ....... 236 Рисование спрайта ........................................................... 252 Время действовать – рисование спрайта корабля ............ 252 Отображение мозаичных изображений с помощью объектов вершинных буферов .......................................... 264 Время действовать – рисование мозаичного фона ........... 265 В заключение .................................................................... 283 Глава 7 Проигрывание звука средствами OpenSL ES ............ 284 Инициализация OpenSL ES ............................................... 286 Время действовать – создание механизма на основе OpenSL ES и вывод звука .................................................. 286
Стр.10
10 Содержание Еще о философии OpenSL ES ....................................... 293 Воспроизведение музыкальных файлов ........................... 295 Время действовать – воспроизведение музыки в фоне .... 295 Воспроизведение звуков .................................................. 302 Время действовать – создание и воспроизведение очереди звуковых буферов ............................................... 304 Обработка событий ...................................................... 314 Запись звука ..................................................................... 315 Вперед, герои – запись и воспроизведение звука ............. 316 В заключение .................................................................... 320 Глава 8 Обслуживание устройств ввода и датчиков .............. 322 Взаимодействие с платформой Android ............................ 323 Время действовать – обработка событий прикосновения ................................................................. 325 Обработка событий от клавиатуры, клавиш направления (D-Pad) и трекбола ....................................... 338 Время действовать – низкоуровневая обработка клавиатуры, клавиш направлений (D-Pad) и трекбола ....... 339 Вперед, герои – отображение виртуальной клавиатуры .... 348 Проверка датчиков ........................................................... 350 Время действовать – превращение устройства в джойстик ........................................................................ 351 Вперед, герои – обработка поворота экрана ..................... 364 В заключение .................................................................... 366 Глава 9 Перенос существующих библиотек на платформу Android ..................................................... 367 Разработка с применением стандартной библиотеки шаблонов.......................................................................... 368
Стр.11
Содержание 11 Время действовать – встраивание библиотеки STLport в DroidBlaster .................................................................... 369 Статическое и динамическое связывания .................... 379 Компиляция Boost на платформе Android .......................... 381 Время действовать – встраивание библиотеки Boost в DroidBlaster .................................................................... 382 Вперед, герои – реализация многопоточной модели выполнения с помощью Boost ........................................... 391 Перенос сторонних библиотек на платформу Android ....... 393 Время действовать – компиляция Box2D и Irrlicht в NDK ... 394 Уровни оптимизации в GCC .......................................... 403 Мастерство владения файлами Makefile ........................... 404 Переменные в файлах Makefile ..................................... 404 Инструкции в файлах Makefile ...................................... 406 Вперед, герои – мастерство владения файлами Makefile ............................................................................ 408 В заключение .................................................................... 410 Глава 10 Вперед, к профессиональным играм .......................... 411 Моделирование механических взаимодействий физических тел с помощью библиотеки Box2D ................ 411 Время действовать – моделирование механических взаимодействий с помощью Box2D .................................. 412 Подробнее об определении столкновений ................... 426 Режимы столкновений ................................................. 427 Фильтрация столкновений ........................................... 428 Дополнительные ресурсы, посвященные Box2D ........... 430 Запуск движка трехмерной графики в Android ................... 430 Время действовать – отображение трехмерной графики с помощью Irrlicht.............................................................. 431 Подробнее об управлении сценой в Irrlicht ................... 443 В заключение .................................................................... 444
Стр.12
12 Содержание Глава 11 Отладка и поиск ошибок ................................................. 446 Отладка с помощью GDB................................................... 446 Время действовать – отладка DroidBlaster ........................ 447 Анализ информации трассировки стека ............................ 456 Время действовать – анализ аварийных дампов ............... 456 Подробнее об аварийных дампах ................................. 461 Анализ производительности ............................................. 462 Время действовать – запуск профилировщика GProf ........ 464 Как он действует .......................................................... 469 Наборы команд ARM, Thumb и NEON ............................ 470 В заключение .................................................................... 472 Послесловие ..................................................................... 473 Предметный указатель ................................................... 478
Стр.13

Облако ключевых слов *


* - вычисляется автоматически
Антиплагиат система на базе ИИ