Discover the native side of Android and inject the power of C/C++ in your applications
About This Book
- Create high performance mobile 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
Who This Book Is For
Are you an Android Java programmer who needs more performance? Are you a C/C++ developer who doesn't want to bother with the complexity of Java and its out-of-control garbage collector? Do you want to create fast intensive multimedia applications or games? If you've answered yes to any of these questions then this book is for you. With some general knowledge of C/C++ development, you will be able to dive headfirst into native Android development.
What You Will Learn
- Build your first Android native project from scratch
- Communicate with Java through Java Native Interfaces
- Learn the key design intricacies of creating a native OpenGL ES 2.0 graphics application
- Initialize, play, and record sound and music with OpenSL ES
- Handle input events and sensors to create different interaction types
- Port an existing library on Android by compiling most common C++ frameworks on Android
- Interface and optimize the existing code with RenderScript
- Combine graphics, sound, input, sensors, and physics in your application
In Detail
Android NDK is all about injecting high-performance and portable code into your mobile apps by exploiting the maximum speed of the device they run on.
This book will show you how to create C/C++-enabled mobile applications and integrate them with Java. The books starts with teaching you how to access native API and port libraries used in some of the most successful Android applications. Next, you will move on to create a real native application project through the complete implementation of a native API and porting existing third-party libraries. Moving forward, you will learn how to access the keyboard and input peripherals and read accelerometer or orientation sensors. Finally, you will dive into more advanced topics such as RenderScript.