Discover the native side of Android and inject the power of C/C++ in your applications
- 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
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 ARM assembler instructions. 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.
What you will learn from this book
- Jump in the starting block and create your first Android native projec
- 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 applications and discover advanced ARM instructions
- Port existing C/C++ code to Android
- Combine graphics, sound, input, sensors and physics in your application
This beginner's guide focuses on getting you through all the major learning points in a smooth, logical order. You'll also see how to avoid some common pitfalls.
Who this book is written for
Are you an Android Java programmer who needs more performance? Are you a C/C++ developer who doesn't want to bother with Java stuff and its out-of-control garbage collector? Do you want to create fast intensive multimedia applications or games? Answer yes to any of the above and this book is for you. With some general knowledge of C/C++ development, you will be able to dive head first into native Android development.