Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Android NDK. Разработка приложений под Android на С/С++

Покупка
Артикул: 603166.03.99
Доступ онлайн
439 ₽
В корзину
В книге показано, как создавать мобильные приложения для платформы Android на языке C/C++ с использованием пакета библиотек Android Native Development Kit (NDK) и объединять их с программным кодом на языке Java. Вы узнаете как создать первое низкоуровневое приложение для Android, как взаимодействовать с программным кодом на Java посредством механизма Java Native Interfaces, как соединить в своем приложении вывод графики и звука, обработку устройств ввода и датчиков, как отображать графику с помощью библиотеки OpenGL ES и др. Издание предназначено для разработчиков мобильных приложений, как начинающих так и более опытных, уже знакомых с программированием под Android с использованием Android SDK.
Ретабоуил, С. Android NDK. Разработка приложений под Android на С/С++ : практическое руководство / С. Ретабоуил ; пер. с англ. А. Н. Киселёва. - 2-е изд. - Москва : ДМК Пресс, 2023. - 497 с. - ISBN 978-5-89818-542-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/2107219 (дата обращения: 10.12.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
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

Доступ онлайн
439 ₽
В корзину