Сильвен ретабоуил android ndk руководство для начинающих

Android NDK: руководство для начинающих

Создание приложений на C/C++ и интеграция их с Java.

Ретабоуил Сильвен «Android NDK: руководство для начинающих» ДМК Пресс, 2016 год, 518 стр., 2-е издание (Перевод. с EN) Киселева А. Н.(7,01 мб. pdf )

Вы Java-разработчик для Android, но есть желание изучить создание производительных, низкоуровневых приложений на C и C++, тогда данное руководство для вас. Не секрет, что использование языков C и C++ дают возможность писать быстрые игровые и мультимедийные программы. В представленном руководстве приводится информация по использованию сборки библиотек — NDK (Android Native Development Kit) для разработки приложений под Android и интеграции кода C и C++ с кодом Java посредством Java Native Interfaces. Вы узнаете как правильно программно построить вывод графики и звука, обработку событий, устройств ввода и датчиков, как выводить графику с использованием библиотеки OpenGL ES, а также другие актуальные вопросы. Издание адресовано для разработчикам мобильных приложений — начинающим и более опытным, уже знакомым с использованием Android SDK. Второе издание переработанное и дополненное. ISBN 978-5-97060-394-9

Оглавление книги

Содержание

Глава 1.
Подготовка окружения 19
Приступая к разработке программ для Android 19
Настройка Windows 20
Установка инструментов разработки для Android в Windows 26
Настройка Mac OS X 31
Установка инструментов разработки для Android в Mac OS X 34
Настройка Linux 40
Установка инструментов разработки для Android в Linux 42
Установка среды разработки Eclipse 47
Эмулятор платформы Android 52
Разработка с действующим устройством на платформе Android 56
Дополнительно о службе ADB 60
В заключение 62

Глава 2.
Создание низкоуровневого проекта для Android 64
Компиляция и развертывание примеров приложений из Android NDK 65
Создание файлов проекта с помощью менеджера Android 68
Компиляция низкоуровневого кода с помощью NDK-Build 71
Сборка и упаковка приложений с помощью Ant 71
Развертывание пакета приложения с помощью Ant 72
Запуск приложения с помощью командной оболочки ADB 73
Дополнительно об инструментах для Android 75
Создание первого низкоуровневого проекта для Android 75
Введение в Dalvik и ART 80
Взаимодействие Java и C/C++ 81
Отладка низкоуровневых приложений для Android 85
Определение настроек NDK для приложения 88
Повседневное использование NDK-GDB 90
Анализ аварийных дампов 91
Настройка проекта Gradle для компиляции низкоуровневого кода 96
В заключение 103

Глава 3.
Взаимодействие Java и C/C++ посредством JNI 104
Инициализация библиотеки JNI 105
Преобразование Java-строк в низкоуровневые строки 114
Кодирование строк в низкоуровневом коде 121
Поддержка строк в JNI API 122
Передача элементарных типов Java в низкоуровневый код 124
Ссылки на Java-объекты из низкоуровневого кода 128
Локальные ссылки 133
Глобальные ссылки 135
Слабые ссылки 135
Обработка Java-массивов 137
Элементарные массивы 148
Массивы объектов 151
Возбуждение и проверка Java-исключений 152
Выполнение кода при наличии исключения 156
API обработки исключений 157
В заключение 158

Глава 4.
Вызов функций на языке Java из низкоуровневого кода 160
Обратный вызов Java-методов из низкоуровневого кода 161
Дополнительно о JNI Reflection API 168
Отладка JNI 170
Синхронизация Java с низкоуровневыми потоками выполнения 171
Синхронизация программного кода на Java и C/C++ с помощью мониторов JNI 183
Присоединение и отсоединение потоков выполнения 184
Низкоуровневая обработка растровых изображений 185
Регистрация низкоуровневых методов вручную 200
JNI в C и C++ 201
В заключение 202

Глава 5.
Создание исключительно низкоуровневых приложений 203
Создание низкоуровневого визуального компонента 204
Подробнее о низкоуровневом связующем модуле 211
Обработка событий визуального компонента 214
Доступ к окну из низкоуровневого кода 225
Измерение времени в низкоуровневом коде 236
В заключение 247

Глава 6.
Отображение графики средствами OpenGL ES 248
Инициализация OpenGL ES 249
Конвейер OpenGL 256
Чтение текстур с помощью диспетчера ресурсов 258
Дополнительно об Asset Manager API 262
Подробнее о текстурах 278
Рисование двухмерных спрайтов 280
Массивы вершин и буферные объекты с вершинами 301
Эффект частиц 303
Программирование шейдеров на языке GLSL 314
Адаптация графики для разных разрешений 316
В заключение 324

Глава 7.
Проигрывание звука средствами OpenSL ES 325
Инициализация OpenSL ES 327
Еще о философии OpenSL ES 333
Воспроизведение музыкальных файлов 334
Воспроизведение звуков 342
Обработка событий в очереди звуков 355
Важность низкой задержки в Android 356
Запись звука 358
В заключение 362

Глава 8.
Устройства ввода и датчики 363
Обработка событий касания 364
Обработка событий от клавиатуры, клавиш направления (D-Pad) и трекбола 378
Проверка датчиков 385
Дополнительно о датчиках 400
В заключение 401

Глава 9.
Перенос существующих библиотек на платформу Android 402
Разработка с применением стандартной библиотеки шаблонов 403
Перенос Box2D на платформу Android 420
Мир Box2D 441
Подробнее об определении столкновений 442
Режимы столкновений и фильтрация 444
Дополнительные ресурсы, посвященные Box2D 446
Компиляция Boost на платформе Android 447
Мастерство владения файлами Makefile 459
Переменные в файлах Makefile 459
Инструкции в файлах сборки 463
Архитектуры процессоров (ABI) 467
Дополнитель 471

Глава 10.
Интенсивные вычисления на RenderScript 472
Что такое RenderScript? 473
Выполнение встроенной функции 474
Создание собственного ядра 486
Объединение сценариев 495
В заключение 504
Послесловие 505
Что мы узнали 505
Куда двигаться дальше 506
Где искать помощь 507
Это лишь начало 508
Предметный указатель 509

Скачать  бесплатно7,01 мб pdf

Похожая литература

737

https://www.htbook.ru/kompjutery_i_seti/programmirovanie/android-ndk-rukovodstvo-dlya-nachinayuschihAndroid NDK — руководство для начинающихhttps://www.htbook.ru/wp-content/uploads/2017/09/android-ndk-rukovodstvo-dlya-nachinayuschih.jpghttps://www.htbook.ru/wp-content/uploads/2017/09/android-ndk-rukovodstvo-dlya-nachinayuschih.jpg2017-09-02T22:06:40+04:00Программирование и БДAndroid,ПрограммированиеСоздание приложений на C/C++ и интеграция их с Java.
Ретабоуил Сильвен ‘Android NDK: руководство для начинающих’ ДМК Пресс, 2016 год, 518 стр., 2-е издание (Перевод. с EN) Киселева А. Н.(7,01 мб. pdf )
Вы Java-разработчик для Android, но есть желание изучить создание производительных, низкоуровневых приложений на C и C++, тогда данное…
Библиотека технической тематики. Техническая литература

Android NDK Руководство для начинающих — 2518168 — 1


ID товара

2518168


Год издания

2016


ISBN

978-5-9706-0394-9


Количество страниц

518


Размер

20x14x2.5


Тип обложки

Мягкий переплет


Вес, г

490

Эта книга в доступной форме рассказывает об увлекательном мире биохимии. Главная героиня, старшеклассница Куми, хочет подобрать для себя правильную диету. Вместе со своим другом Немото и профессором Куросака она начинает изучать науку, которая поможет ей в достижении поставленной цели.
Изложение материала организовано по принципу «от простого к сложному»: вначале читатель узнаёт о базовых терминах из области биохимии, о строении клетки, процессе фотосинтеза и дыхания, а в конечном счёте получает представление о целом ряде сложных веществ: аминокислот, углеводов, жиров, белков, нуклеиновых кислот. Кроме того, в заключительной части даются общие сведения о молекулярной биологии — науке, тесно связанной с биохимией.
Книга может использоваться в качестве справочника или в качестве дополнительного источника знаний для студентов, изучающих биохимию, медицину и диетологию.

Эта книга в доступной форме рассказывает об увлекательном мире биохимии. Главная героиня, старшеклассница Куми, хочет подобрать для себя правильную диету. Вместе со своим другом Немото и профессором Куросака она начинает изучать науку, которая поможет ей в достижении поставленной цели.
Изложение материала организовано по принципу «от простого к сложному»: вначале читатель узнаёт о базовых терминах из области биохимии, о строении клетки, процессе фотосинтеза и дыхания, а в конечном счёте получает представление о целом ряде сложных веществ: аминокислот, углеводов, жиров, белков, нуклеиновых кислот. Кроме того, в заключительной части даются общие сведения о молекулярной биологии — науке, тесно связанной с биохимией.
Книга может использоваться в качестве справочника или в качестве дополнительного источника знаний для студентов, изучающих биохимию, медицину и диетологию.


ДМК Пресс

На товар пока нет отзывов

Поделитесь своим мнением раньше всех

Как получить бонусы за отзыв о товаре

1


Сделайте заказ в интернет-магазине

2


Напишите развёрнутый отзыв от 300 символов только на то, что вы купили

3


Дождитесь, пока отзыв опубликуют.

Если он окажется среди первых десяти, вы получите 30 бонусов на Карту Любимого Покупателя. Можно писать
неограниченное количество отзывов к разным покупкам – мы начислим бонусы за каждый, опубликованный в
первой десятке.

Правила начисления бонусов

Если он окажется среди первых десяти, вы получите 30 бонусов на Карту Любимого Покупателя. Можно писать
неограниченное количество отзывов к разным покупкам – мы начислим бонусы за каждый, опубликованный в
первой десятке.

Правила начисления бонусов

Книга «Android NDK Руководство для начинающих» есть в наличии в интернет-магазине «Читай-город» по привлекательной цене.
Если вы находитесь в Москве, Санкт-Петербурге, Нижнем Новгороде, Казани, Екатеринбурге, Ростове-на-Дону или любом
другом регионе России, вы можете оформить заказ на книгу
Сильвен Ретабоуил
«Android NDK Руководство для начинающих» и выбрать удобный способ его получения: самовывоз, доставка курьером или отправка
почтой. Чтобы покупать книги вам было ещё приятнее, мы регулярно проводим акции и конкурсы.

Год издания: 2016

Кол-во страниц: 518

  • Аннотация
  • Коллекции
  • Классификаторы
  • Выпуски издания
  • Бибзапись
  • Фрагменты

В книге показано, как создавать мобильные приложения для платформы Android на языке C/C++ с использованием пакета библиотек Android Native Development Kit (NDK) и объединять их с программным кодом на языке Java. Вы узнаете как создать первое низкоуровневое приложение для Android, как взаимодействовать с программным кодом на Java посредством механизма Java Native Interfaces, как соединить в своем приложении вывод графики и звука, обработку устройств ввода и датчиков, как отображать графику с помощью библиотеки OpenGL ES и др. Издание предназначено для разработчиков мобильных приложений, как начинающих так и более опытных, уже знакомых с программированием под Android с использованием Android SDK.

  • Полная коллекция по информатике и вычислительной технике
  • ДМК Пресс. Информатика
  • Программирование и алгоритмизация

Тематика:

  • 0614:
    Программирование. Языки и среды программирования

ББК:

  • 3297:
    Вычислительная техника

УДК:

  • 004:
    Информационные технологии. Вычислительная техника…

ОКСО:

  • ВО — Бакалавриат
  • 09.03.01:
    Информатика и вычислительная техника
  • 09.03.02:
    Информационные системы и технологии
  • 09.03.03:
    Прикладная информатика
  • 09.03.04:
    Программная инженерия

ГРНТИ:

  • 50.05.13:
    Технология программирования. Автоматизация программирования.

Ретабоуил, С. Сильвен, Р. Android NDK: руководство для начинающих / Ретабоуил Сильвен ; пер. с анг. А.Н. Киселева. — 2-е изд. — Москва : ДМК Пресс, 2016. — 518 с. — ISBN 978-5-97060-394-9. — Текст : электронный. — URL: https://znanium.com/catalog/product/1027808 (дата обращения: 23.04.2023). – Режим доступа: по подписке.


Скопировать запись

Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.

Сильвен Ретабоуил

Android NDK

Руководство для начинающих
Android NDK

Beginners's Guide

Second Edition

Sylvain Ratabouil

Discover the native side of Android and inject the power  
of C/C++ in your applications

BIRMINGHAM - MUMBAI
Android NDK

Руководство для начинающих

2-е издание

Москва, 2016

Сильвен Ретабоуил

Откройте доступ к внутренней природе Android  
и добавьте мощь C/C++ в свои приложения
УДК 004.451.9Android
ББК 32.973.26-018.2
P31

Ретабоуил Сильвен
Р31   Android NDK: руководство для начинающих. 2-е изд. / Пер. с 
анг. Киселева А. Н. – М.: ДМК Пресс, 2016. – 518 с.: ил.

ISBN 978-5-97060-394-9

В книге показано, как создавать мобильные приложения для 
платформы 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

Все права защищены. Любая часть этой книги не может быть воспроиз-
ведена в какой бы то ни было форме и какими бы то ни было средствами без 
письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но, по-
скольку вероятность технических ошибок все равно существует, издательство 
не может гарантировать абсолютную точность и правильность приводимых 
сведений. В связи с этим издательство не несет ответственности за возможные 
ошибки, связанные с использованием книги.

ISBN 978-1-78398-964-5 (анг.) 
Copyright © 2015 Packt Publishing
ISBN 978-5-97060-394-9 (рус.) 
© Оформление, ДМК Пресс, 2016
Содержание

Об авторе ........................................................ 10
О рецензентах.................................................. 11
Предисловие ................................................... 13

О чем рассказывается в этой книге ............................................... 14

Что потребуется для работы с книгой ............................................ 15

Кому адресована эта книга ............................................................ 15

Разделы ........................................................................................ 16

Соглашения................................................................................... 16

Отзывы и пожелания ..................................................................... 17

Загрузка исходного кода примеров ............................................... 18

Список опечаток............................................................................ 18

Нарушение авторских прав ........................................................... 18

Глава 1.  
Подготовка окружения ...................................... 19

Приступая к разработке программ для Android .............................. 19

Настройка Windows ....................................................................... 20

Установка инструментов разработки для Android в Windows .......... 26

Настройка Mac OS X ...................................................................... 31

Установка инструментов разработки для Android в Mac OS X ......... 34

Настройка Linux ............................................................................. 40

Установка инструментов разработки для Android в Linux ................ 42

Установка среды разработки Eclipse ............................................. 47

Эмулятор платформы Android........................................................ 52

Разработка с действующим устройством на платформе Android ... 56

Дополнительно о службе ADB ........................................................ 60

В заключение ................................................................................ 62
Содержание

Глава 2.  
Создание низкоуровневого проекта для Android .... 64

Компиляция и развертывание примеров приложений 
из Android NDK .............................................................................. 65

Создание файлов проекта с помощью менеджера Android ............ 68

Компиляция низкоуровневого кода с помощью NDK-Build ............. 71

Сборка и упаковка приложений с помощью Ant ............................. 71

Развертывание пакета приложения с помощью Ant ....................... 72

Запуск приложения с помощью командной оболочки ADB ............. 73

Дополнительно об инструментах для Android ................................ 75
Создание первого низкоуровневого проекта для Android ...................... 75

Введение в Dalvik и ART ................................................................. 80

Взаимодействие Java и C/C++ ....................................................... 81

Отладка низкоуровневых приложений для Android......................... 85

Определение настроек NDK для приложения ................................ 88

Повседневное использование NDK-GDB ....................................... 90

Анализ аварийных дампов ............................................................. 91

Настройка проекта Gradle для компиляции низкоуровневого  
кода .............................................................................................. 96

В заключение .............................................................................. 103

Глава 3.  
Взаимодействие Java и C/C++ посредством JNI ... 104

Инициализация библиотеки JNI................................................... 105

Преобразование Java-строк в низкоуровневые строки ................ 114
Кодирование строк в низкоуровневом коде ........................................ 121
Поддержка строк в JNI API ................................................................... 122

Передача элементарных типов Java в низкоуровневый код ......... 124

Ссылки на Java-объекты из низкоуровневого кода ...................... 128
Локальные ссылки .............................................................................. 133
Глобальные ссылки ............................................................................. 135
Слабые ссылки ................................................................................... 135

Обработка Java-массивов ........................................................... 137
Элементарные массивы ...................................................................... 148
Массивы объектов .............................................................................. 151

Возбуждение и проверка Java-исключений ................................. 152
Выполнение кода при наличии исключения ......................................... 156
Содержание

API обработки исключений .................................................................. 157

В заключение .............................................................................. 158

Глава 4.  
Вызов функций на языке Java из низкоуровневого 
кода ............................................................. 160

Обратный вызов Java-методов из низкоуровневого кода ............ 161

Дополнительно о JNI Reflection API .............................................. 168
Отладка JNI ......................................................................................... 170

Синхронизация Java с низкоуровневыми потоками выполнения ....171
Синхронизация программного кода на Java и C/C++ с помощью 
мониторов JNI ..................................................................................... 183
Присоединение и отсоединение потоков выполнения......................... 184

Низкоуровневая обработка растровых изображений ................... 185

Регистрация низкоуровневых методов вручную .......................... 200

JNI в C и C++ ............................................................................... 201

В заключение .............................................................................. 202

Глава 5.  
Создание исключительно низкоуровневых 
приложений ................................................... 203

Создание низкоуровневого визуального компонента .................. 204
Подробнее о низкоуровневом связующем модуле .............................. 211

Обработка событий визуального компонента .............................. 214

Доступ к окну из низкоуровневого кода ....................................... 225

Измерение времени в низкоуровневом коде ............................... 236

В заключение .............................................................................. 247

Глава 6.  
Отображение графики средствами OpenGL ES ..... 248

Инициализация OpenGL ES ......................................................... 249

Конвейер OpenGL ........................................................................ 256

Чтение текстур с помощью диспетчера ресурсов ........................ 258
Дополнительно об Asset Manager API .................................................. 262
Подробнее о текстурах ....................................................................... 278

Рисование двухмерных спрайтов ................................................ 280
Массивы вершин и буферные объекты с вершинами .......................... 301
Содержание

Эффект частиц ............................................................................ 303
Программирование шейдеров на языке GLSL ..................................... 314

Адаптация графики для разных разрешений ............................... 316

В заключение .............................................................................. 324

Глава 7.  
Проигрывание звука средствами OpenSL ES ....... 325

Инициализация OpenSL ES .......................................................... 327
Еще о философии OpenSL ES .............................................................. 333

Воспроизведение музыкальных файлов ...................................... 334

Воспроизведение звуков............................................................. 342
Обработка событий в очереди звуков ................................................. 355
Важность низкой задержки в Android .................................................. 356

Запись звука ............................................................................... 358

В заключение .............................................................................. 362

Глава 8.  
Устройства ввода и датчики ............................. 363

Обработка событий касания ........................................................ 364

Обработка событий от клавиатуры, клавиш направления  
(D-Pad) и трекбола ...................................................................... 378

Проверка датчиков ...................................................................... 385
Дополнительно о датчиках .................................................................. 400

В заключение .............................................................................. 401

Глава 9.  
Перенос существующих библиотек на платформу 
Android ......................................................... 402

Разработка с применением стандартной библиотеки шаблонов . 403

Перенос Box2D на платформу Android ......................................... 420
Мир Box2D .......................................................................................... 441
Подробнее об определении столкновений .......................................... 442
Режимы столкновений и фильтрация .................................................. 444
Дополнительные ресурсы, посвященные Box2D ................................. 446

Компиляция Boost на платформе Android .................................... 447

Мастерство владения файлами Makefile ...................................... 459
Переменные в файлах Makefile ........................................................... 459
Инструкции в файлах сборки ............................................................... 463
Содержание

Архитектуры процессоров (ABI) ................................................... 467
Дополнительные наборы инструкций (NEON, VFP, SSE, MSA) .............. 468

В заключение .............................................................................. 471

Глава 10.  
Интенсивные вычисления на RenderScript .......... 472

Что такое RenderScript? ............................................................... 473
Выполнение встроенной функции ....................................................... 474

Создание собственного ядра ...................................................... 486

Объединение сценариев ............................................................. 495

В заключение .............................................................................. 504

Послесловие ................................................. 505

Что мы узнали ............................................................................. 505

Куда двигаться дальше ................................................................ 506

Где искать помощь....................................................................... 507

Это лишь начало.......................................................................... 508

Предметный указатель .................................... 509
Об авторе

Сильвен Ретабоуил (Sylvain Ratabouil) – консультант в области 
информационных технологий с опытом программирования на C++ 
и Java в Android. Участвовал в разработке цифровых и мобильных 
приложений для больших компаний, а также для космической и 
авиационной промышленности. Будучи человеком с техническим 
складом ума, влюблен в мобильные технологии и не представляет 
себе жизни без своего смартфона на платформе Android.
О рецензентах

Гай Коул (Guy Cole) – опытный ветеран Кремниевой Долины, с бо-
гатым опытом работы во многих компаниях, больших и известных, 
таких как Facebook, Cisco, Motorola, Cray Research, Hewlett-Packard, 
Wells Fargo Bank, Barclays Global Investments, DHL Express, и не-
больших и менее известных. Связаться с ним можно в LinkedIn.

Кшиштоф Фонал (Krzysztof Fonał) обожает все, что связано с 
компьютерами. Влюбился в компьютеры, когда ему было еще один-
надцать лет. Абсолютно уверен, что выбор технологии не имеет зна-
чения для решения задач – все зависит от мастерства и желания 
учиться. В настоящее время работает в компании Trapeze Group, 
которая входит в число лидеров, предлагающих свои ИТ-решения. 
Планирует заняться книгами, посвященными проблемам машинно-
го обучения а также Corona SDK.

Сергей Косаревский (Sergey Kosarevsky) – программист с бо-
гатым опытом программирования на C++ и 3-мерной графики. 
Работал в компаниях мобильной индустрии и привлекался к работе 
над проектами для мобильных устройств в SPB Software, Yandex и 
Layar. Имеет 12-летний опыт разработки программного обеспечения 
и более чем 6-летний опыт использования Android NDK. Получил 
степень кандидата технических наук в Санкт-Петербургском инсти-
туте машиностроения, Россия. Соавтор книги «Android NDK Game 
Development Cookbook». В свое свободное время занимается под-
держкой и разработкой открытого, многоплатформенного игрового 
движка Linderdaum Engine (http://www.linderdaum.com) и открыто-
го, многоплатформенного файлового менеджера WCM Commander 
(http://wcm.linderdaum.com).

Раймон Рафолс (Raimon Ràfols) занимается разработкой для 
мобильных устройств с 2004 года. Имеет опыт разработки с при-
менением нескольких технологий, специализируется на создании 
пользовательских интерфейсов, системах сборки и клиент-сервер-
ных взаимодействиях. В настоящее время работает директором под-
О рецензентах

разделения разработки программного обеспечения для мобильных 
устройств в Imagination Technologies, недалеко от Лондона. В сво-
бодное время любит заниматься программированием, фотографией 
и участвовать в мобильных конференциях, где отдает предпочтение 
вопросам оптимизации производительности Android и создания не-
стандартных пользовательских интерфейсов.

Хочу выразить благодарность моей нежно любимой подруге 
Лайе (Laia) за поддержку и понимание.
Предисловие

Android NDK позволяет внедрять высокопроизводительный и пере-
носимый код в мобильные приложения, и на все 100% использовать 
вычислительные мощности мобильных устройств. Android NDK по-
зволит вам писать быстрый код для вычислительных задач и пере-
носить код, написанный для Android, на другие платформы. Кроме 
того, если у вас есть приложение на языке C, с помощью NDK вы 
сможете существенно ускорить процесс разработки проекта. Это од-
на из самых эффективных операционных систем для мультимедий-
ных и игровых приложений.
Данное руководство для начинающих покажет вам, как писать 
приложения на C/C++ и интегрировать их с Java. С помощью этого 
практического пошагового руководства, постепенно наращивая на-
выки на учебных примерах, советах и рекомендациях, вы научитесь 
встраивать код на C/C++ в приложения на Java и даже писать ав-
тономные приложения.
Книга начинается с изучения приемов доступа к низкоуров-
невому API и переноса библиотек, используемых в некоторых 
наиболее успешных Android-приложениях. Затем вы приступите 
к созданию действующего проекта приложения, использующего 
низкоуровневый API и существующие сторонние библиотеки. По 
мере продвижения вперед, вы получите полное понимание особен-
ностей отображения графики и проигрывания звука с применени-
ем библиотек OpenGL ES и OpenSL ES, превратившихся в новый 
стандарт в мобильном мире. Затем вы узнаете, как получить доступ 
к клавиатуре и другим устройствам ввода, как читать показания 
акселерометра или датчиков ориентации. В заключение вы погру-
зитесь в изучение более сложных тем, таких как программирование 
на RenderScript.
К концу книги вы достаточно хорошо познакомитесь с ключевы-
ми понятиями, чтобы начать использовать мощь и переносимость 
низкоуровневого кода.
Предисловие

О чем рассказывается в этой 
книге
Глава 1, «Подготовка окружения», охватывает установку всех не-
обходимых инструментов. В этой главе также рассматривается по-
рядок установки пакета Android Studio, включающего среду разра-
ботки Android Studio IDE и библиотеку Android SDK.
Глава 2, «Создание низкоуровневого проекта для Android», опи-
сывает порядок сборки, упаковки и развертывания проектов для 
Android с помощью инструментов командной строки. Здесь мы соз-
дадим наш первый для платформы Android с применением Android 
Studio и Eclipse.
Глава 3, «Взаимодействие Java и C/C++ посредством JNI», расска-
зывает, как виртуальная машина Java взаимодействует с программ-
ным кодом на C/C++. Здесь мы научимся работать со ссылками на 
Java-объекты в низкоуровневом коде с помощью механизма глобаль-
ных ссылок, и познакомимся с отличительными чертами локальных 
ссылок. В заключение мы научимся возбуждать и перехватывать ис-
ключения Java в низкоуровневом коде.
Глава 4, «Вызов функций на языке Java из низкоуровневого кода», 
описывает возможность вызова функций на языке Java из низкоу-
ровневого кода на языке C с применением JNI Reflection API. Здесь 
мы также научимся обрабатывать графические изображения с по-
мощью JNI и вручную декодировать видео.
Глава 5, «Создание исключительно низкоуровневых приложений», 
описывает создание компонента NativeActivity, который в ответ на 
события запускает или останавливает низкоуровневый код. Здесь 
мы также научимся обращаться к экрану для отображения простой 
графики. В заключение будет показано, как измерять время с ис-
пользованием тактового генератора, чтобы иметь возможность адап-
тировать приложение к скоростным характеристикам устройства.
Глава 6, «Отображение графики средствами OpenGL ES», расска-
зывает, как инициализировать контекст OpenGL ES и как связать 
его с окном Android. Затем мы посмотрим, как превратить libpng 
и с его помощью загружать текстуры из ресурсов в формате PNG.
Глава 7, «Проигрывание звука средствами OpenSL ES», расска-
зывает, как инициализировать OpenSL ES в Android. Затем мы 
научимся проигрывать музыку в фоновом режиме из звукового 
файла и из записи, хранящейся в памяти. Здесь мы также научим-
Кому адресована эта книга

ся записывать звук и воспроизводить запись в неблокирующем 
режиме.
Глава 8, «Устройства ввода и датчики», рассматривает особенно-
сти взаимодействия с устройством на платформе Android из низ-
коуровневого кода. Здесь вы узнаете, как связать очередь событий 
ввода с циклом обработки событий Native App Glue.
Глава 9, «Перенос существующих библиотек на платформу 
Android», покажет, как активировать поддержку STL с применением 
простых флагов в NDK. Здесь мы превратим библиотеку Box2D в 
модуль NDK, пригодный для многократного использования в раз-
ных проектах для Android.
Глава 10, «Интенсивные вычисления на RenderScript», знакомит с 
языком RenderScript, передовой  технологией организации парал-
лельных вычислений. Здесь мы также увидим, как пользоваться 
предопределенными функциями, встроенными в RenderScript, по-
давляющее большинство которых в настоящее время предназначено 
для обработки изображений.

Что потребуется для работы 
с книгой
Для опробования примеров в книге понадобится следующее про-
граммное обеспечение:

 
‰ Операционная система: Windows, Linux или Mac OS X.
 
‰ JDK: Java SE Development Kit 7 или 8.
 
‰ Cygwin: только для Windows.

Кому адресована эта книга
Вы пишете программы для Android на языке Java и вам необходи-
мо увеличить производительность своих приложений? Вы пишете 
программы на C/C++ и не хотите утруждать себя изучением всех 
фишек языка Java и его неконтролируемого сборщика мусора? Вы 
желаете писать быстрые мультимедийные и игровые приложения? 
Если хотя бы на один из этих вопросов вы ответите «да» – эта книга 
для вас. Имея лишь общие представления о разработке программ на 
языке C/C++, вы сможете с головой погрузиться в создание низко-
уровневых приложений для Android.
  • document_id: 341072
  • product_id: 1027808
  • ins_time: 2019-04-15 18:42:05
  • upd_time: 2019-04-15 18:42:05
  • upp_upd_date: 2022-07-06
  • Full PDF:
    WARN Путь не доступен (не определен) /mnt/znanium_fullpdf/booksfull/done/1027/1027808.pdf
  • PDF pages:
    WARN Количество страниц документа (518) не соответствует физическому наличию (519). Путь /mnt/resources/resources/1027/1027808/pdf
  • XML pages:
    WARN Количество страниц документа (518) не соответствует физическому наличию (519). Путь: /mnt/resources/resources/1027/1027808/xml
  • text *.idx:
    OK
  • Full text:
    OK /mnt/resources/resources/1027/1027808/txt/1027808.txt
  • Оглавления:
    OK Путь /mnt/resources/resources/1027/1027808/txt/1027808.toc.txt

Android NDK. Руководство для начинающих

519 Pages · 2016 ·
7.72 MB ·
3,973 Downloads·
Russian

“ You often feel tired, not because you’ve done too much, but because you’ve done too little of what sparks a light in you. ” ― Anonymous

  • Smoothies for Optimum Health

    Smoothies for Optimum Health

    202 Pages·2009·2.8 MB·82,138 Downloads

    group of people to whom she gave green smoothies once a day while they
    stayed on their regular diet. Many of them showe  …

  • Простой Python. Современный стиль программирования

  • Автоматизация рутинных задач с помощью Python.  практическое руководство для начинающих

  • Программируем на Python

    Программируем на Python

    416 Pages·2014·52.76 MB·22,509 Downloads·Russian·New!

    Эта книга — идеальное пособие для начинающих изучать Python.  …

  • Японский язык для начинающих

  • Java: руководство для начинающих

  • Genki Plus. Kanji Look and Learn. Textbook

  • Рисунок с нуля. Пошаговое руководство

  • Android NDK: руководство для начинающих

  • Русский язык для начинающих. Учебник

  • Hillbilly Elegy: A Memoir of a Family and Culture in Crisis

Load more similar PDF files

PDF Drive investigated dozens of problems and listed the biggest global issues facing the world today.
Let’s Change The World Together

Понравилась статья? Поделить с друзьями:

А вот и еще наши интересные статьи:

  • Гувд по свердловской области официальный сайт руководство
  • Dolven таблетки турция инструкция по применению на русском
  • Пироксикам ультра инструкция по применению дез средство
  • Порядок присоединения юридического лица пошаговая инструкция 2019
  • Инструкция по использованию программы 1с бухгалтерия

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии