Android NDK Beginner's Guide

More Information
  • Jump in the starting block and create your first Android native project
  • Communicate with Java through Java Native Interfaces
  • Display 2D and 3D graphics with OpenGL ES
  • Play sound and music with OpenSL ES
  • Manage Android input and sensors
  • Debug and troubleshoot applications
  • Port existing C/C++ code to Android
  • Combine graphics, sound, input, sensors and physics in your application

Android NDK is all about injecting high performance into your apps. Exploit the maximum power of these mobile devices using high-performance and portable code.

This book will show you how to create C/C++ enabled applications and integrate them with Java. You will learn how to access native API and port libraries used in some of the most successful Android applications.

Using this practical step-by-step tutorial, highlighted with comments and tricks, discover how to run C/C++ code embedded in a Java application or in a standalone application. You will create a real native application starting from project creation through to full implementation of native API and the porting of existing third-party libraries. You will discover OpenGL ES and OpenSL ES, which are becoming the new standard in mobility. You will also understand how to access keyboard and input peripherals and how to read accelerometer or orientation sensors.

Finally, you will dive into more advanced topics such as debugging and troubleshooting applications. By the end of the book, you should know the key elements to enable you to start exploiting the power and portability of native code.

  • Create high performance applications with C/C++ and integrate with Java
  • Exploit advanced Android features such as graphics, sound, input and sensing
  • Port and reuse your own or third-party libraries from the prolific C/C++ ecosystem
Page Count 436
Course Length 13 hours 4 minutes
ISBN 9781849691529
Date Of Publication 26 Jan 2012


Sylvain Ratabouil

Sylvain Ratabouil is an IT consultant, experienced in Android, Java, and C/C++. He has contributed to the development of digital and mobile applications for large companies as well as industrial projects for the space and aeronautics industries. As a technology lover, he is passionate about mobile technologies and cannot live without his Android smartphone.