Android NDK. Разработка приложений под Android на С/С++
Покупка
Тематика:
Программирование на C и C++
Издательство:
ДМК Пресс
Автор:
Ретабоуил Сильвен
Перевод:
Киселев Артём Николаевич
Год издания: 2023
Кол-во страниц: 497
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-89818-542-8
Артикул: 603166.03.99
В книге показано, как создавать мобильные приложения для платформы Android на языке C/C++ с использованием пакета библиотек Android Native Development Kit (NDK) и объединять их с программным кодом на языке Java. Вы узнаете как создать первое низкоуровневое приложение для Android, как взаимодействовать с программным кодом на Java посредством механизма Java Native Interfaces, как соединить в своем приложении вывод графики и звука, обработку устройств ввода и датчиков, как отображать графику с помощью библиотеки OpenGL ES и др.
Издание предназначено для разработчиков мобильных приложений, как начинающих так и более опытных, уже знакомых с программированием под Android с использованием Android SDK.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Программирование
- Программирование на C и C++
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Android NDK Разработка приложений под Android на С/С++ Сильвен Ретабоуил
Android NDK Beginners's Guide Sylvain Ratabouil Discover the native side of Android and inject the power of C/C++ in your applications
Android NDK Разработка приложений под Android на С/С++ Москва, 2023 Сильвен Ретабоуил Откройте доступ к внутренней природе Android и добавьте мощь C/C++ в свои приложения 2-е издание, электронное
УДК 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
Содержание Об авторе ............................................................................. 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
Содержание Время действовать – подготовка 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
Содержание Вперед, герои – запись файла на 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
Содержание Время действовать – сохранение ссылки на объект .......... 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
Содержание Обработка событий визуального компонента ................... 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
Содержание Еще о философии 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