The short history of computing machines has witnessed some major events, which
forever transformed our usage of technology. From the first massive main frames to
the democratization of personal computers, and then the interconnection of networks.
Mobility is the next revolution. Like the primitive soup, all the ingredients are now
gathered: an ubiquitous network, new social, professional and industrial usages, a
powerful technology. A new period of innovation is blooming right now in front of our
eyes. We can fear it or embrace it, but it is here, for good!
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.