
Android NDK Beginner’s Guide.
Title:
Android NDK Beginner’s Guide.
Author:
Ratabouil, Sylvain.
ISBN:
9781849691536
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (514 pages)
Contents:
Android NDK Beginner's Guide -- Table of Contents -- Android NDK Beginner's Guide -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- The mobile challenge -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Time for action - heading -- What just happened? -- Pop quiz - heading -- Have a go hero - heading -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Setting Up your Environment -- Getting started with Android development -- Setting up Windows -- Time for action - preparing Windows for Android development -- What just happened? -- Installing Android development kits on Windows -- Time for action - installing Android SDK and NDK on Windows -- What just happened? -- Setting up Mac OS X -- Time for action - preparing Mac OS X for Android development -- What just happened? -- Installing Android development kits on Mac OS X -- Time for action - installing Android SDK and NDK on Mac OS X -- What just happened? -- Setting up Linux -- Time for action - preparing Ubuntu Linux for Android development -- What just happened? -- Installing Android development kits on Linux -- Time for action - installing Android SDK and NDK on Ubuntu -- What just happened? -- Setting up the Eclipse development environment -- Time for action - installing Eclipse -- What just happened? -- Emulating Android -- Time for action - creating an Android virtual device -- What just happened? -- Have a go hero -- Developing with an Android device on Windows and Mac OS X -- Time for action - setting up your Android device on Windows and Mac OS X -- What just happened? -- Developing with an Android device on Linux.
Time for action - setting up your Android device on Ubuntu -- What just happened? -- Troubleshooting a development device -- Summary -- 2. Creating, Compiling, and Deploying Native Projects -- Compiling and deploying NDK sample applications -- Time for action - compiling and deploying the hellojni sample -- What just happened? -- Have a go hero - compiling san angeles OpenGL demo -- Exploring Android SDK tools -- Android debug bridge -- Have a go hero - transferring a file to SD card from command line -- Project configuration tool -- Have a go hero - towards continuous integration -- Creating your first Android project using eclipse -- Time for action - initiating a Java project -- What just happened? -- Introducing Dalvik -- Interfacing Java with C/C++ -- Time for action - calling C code from Java -- What just happened? -- More on Makefiles -- Compiling native code from Eclipse -- Time for action - creating a hybrid Java/C/C++ project -- What just happened? -- Summary -- 3. Interfacing Java and C/C++ with JNI -- Working with Java primitives -- Time for action - building a native key/value store -- What just happened? -- Have a go hero - passing and returning other primitive types -- Referencing Java objects from native code -- Time for action - saving a reference to an object in the Store -- What just happened? -- Local and global JNI references -- Throwing exceptions from native code -- Time for action - raising exceptions from the Store -- What just happened? -- JNI in C++ -- Handling Java arrays -- Time for action - saving a reference to an object in the Store -- What just happened? -- Checking JNI exceptions -- Have a go hero - handling other array types -- Summary -- 4. Calling Java Back from Native Code -- Synchronizing Java and native threads -- Time for action - running a background thread -- What just happened?.
Attaching and detaching threads -- More on Java and native code lifecycles -- Calling Java back from native code -- Time for action - invoking Java code from a native thread -- What just happened? -- More on callbacks -- JNI method definitions -- Processing bitmaps natively -- Time for action - decoding camera feed from native code -- What just happened? -- Summary -- 5. Writing a Fully-native Application -- Creating a native activity -- Time for action - creating a basic native activity -- What just happened? -- Handling activity events -- Time for action - handling activity events -- What just happened? -- More on Native App Glue -- UI thread -- Native thread -- Android_app structure -- Have a go hero - saving activity state -- Accessing window and time natively -- Time for action - displaying raw graphics and implementing a timer -- What just happened? -- More on time primitives -- Summary -- 6. Rendering Graphics with OpenGL ES -- Initializing OpenGL ES -- Time for action - initializing OpenGL ES -- What just happened? -- Reading PNG textures with the asset manager -- Time for action - loading a texture in OpenGL ES -- What just happened? -- Drawing a sprite -- Time for action - drawing a Ship sprite -- What just happened? -- Rendering a tile map with vertex buffer objects -- Time for action - drawing a tile-based background -- What just happened? -- Summary -- 7. Playing Sound with OpenSL ES -- Initializing OpenSL ES -- Time for action - creating OpenSL ES engine and output -- What just happened? -- More on OpenSL ES philosophy -- Playing music files -- Time for action - playing background music -- What just happened? -- Playing sounds -- Time for action - creating and playing a sound buffer queue -- What just happened? -- Event callback -- Recording sounds -- Have a go hero - recording and playing a sound -- Summary.
8. Handling Input Devices and Sensors -- Interacting with Android -- Time for action - handling touch events -- What just happened? -- Detecting keyboard, D-Pad, and Trackball events -- Time for action - handling keyboard, D-Pad, and trackball, natively -- What just happened? -- Have a go hero - displaying software keyboard -- Probing device sensors -- Time for action - turning your device into a joypad -- What just happened? -- Have a go hero - Handling screen rotation -- Summary -- 9. Porting Existing Libraries to Android -- Developing with the Standard Template Library -- Time for action - embedding GNU STL in DroidBlaster -- What just happened? -- Static versus shared -- STL performances -- Compiling Boost on Android -- Time for action - embedding Boost in DroidBlaster -- What just happened? -- Have a go hero - threading with Boost -- Porting third-party libraries to Android -- Time for action - compiling Box2D and Irrlicht with the NDK -- What just happened? -- GCC optimization levels -- Mastering Makefiles -- Makefile variables -- Makefile Instructions -- Have a go hero - mastering Makefiles -- Summary -- 10. Towards Professional Gaming -- Simulating physics with Box2D -- Time for action - simulating physics with Box2D -- What just happened? -- More on collision detection -- Collision modes -- Collision filtering -- More resources about Box2D -- Running a 3D engine on Android -- Time for action - rendring 3D graphics with Irrlicht -- What just happened? -- More on Irrlicht scene management -- Summary -- 11. Debugging and Troubleshooting -- Debugging with GDB -- Time for action - debugging DroidBlaster -- What just happened? -- Stack trace analysis -- Time for action - analysing a crash dump -- What just happened? -- More on crash dumps -- Performance analysis -- Time for action - running GProf -- What just happened? -- How it works.
ARM, thumb, and NEON -- Summary -- A. Afterword -- Where we have been -- Where you can go -- Where to find help -- This is just the beginning -- Index.
Abstract:
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. 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.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Genre:
Electronic Access:
Click to View