Android NDK Beginner 39 S Guide Second Edition
User Manual:
Open the PDF directly: View PDF
Page Count: 494 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Cover
- Copyright
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Table of Contents
- Preface
- Chapter 1: Setting Up Your Environment
- Getting started with Android development
- Time for action – preparing Windows for Android development
- Time for action – installing Android SDK and NDK on Windows
- Time for action – preparing OS X for Android development
- Time for action – installing Android SDK and NDK on OS X
- Time for action – preparing Ubuntu for Android development
- Time for action – installing Android SDK and NDK on Ubuntu
- Time for action – installing Eclipse with ADT on your OS
- Time for action – creating an Android virtual device
- Time for action – setting up an Android device
- Summary
- Chapter 2: Starting a Native Android Project
- Building NDK sample applications
- Time for action – compiling and deploying San Angeles sample
- Creating your first native Android project
- Time for action – creating a native Android project
- Interfacing Java with C/C++
- Time for action – calling C code from Java
- Debugging native Android applications
- Time for action – debugging a native Android application
- Analyzing native crash dumps
- Time for action – analyzing a native crash dump
- Setting up a Gradle project to compile native code
- Time for action – creating a native Android project
- Time for action – using your own Makefiles with Gradle
- Summary
- Chapter 3: Interfacing Java and C/C++ with JNI
- Initializing a native JNI library
- Time for action – defining a simple GUI
- Time for action – initializing the native store
- Converting Java strings in native code
- Time for action – handling strings in the native store
- Passing Java primitives to native code
- Time for action – handling primitives in the native store
- Referencing Java objects from native code
- Time for action – saving references to Objects in native Store
- Managing Java arrays
- Time for action – handling Java arrays in native Store
- Raising and checking Java exceptions
- Time for action – raising & catching exceptions in native Store
- Summary
- Chapter 4: Calling Java Back from Native Code
- Calling Java back from native code
- Time for action – determining JNI method signatures
- Time for action – calling back Java from native code
- Time for action – allocating an object with JNI
- Time for action – running and synchronizing a thread
- Processing bitmaps natively
- Time for action – decoding a camera's feed
- Time for action – processing pictures with the Bitmap API
- Summary
- Chapter 5: Writing a Fully Native Application
- Creating a native Activity
- Time for action – creating a basic native Activity
- Handling Activity events
- Time for action – stepping the event loop
- Time for action – handling Activity events
- Accessing window surface natively
- Time for action – displaying raw graphics
- Measuring time natively
- Time for action – animating graphics with a timer
- Summary
- Chapter 6: Rendering Graphics with OpenGL ES
- Initializing OpenGL ES
- Time for action – initializing OpenGL ES
- Time for action – clearing and swapping buffers
- An insight into the OpenGL pipeline
- Loading textures using the Asset manager
- Time for action – reading assets with the Asset manager
- Time for action – compiling and embedding libpng module
- Time for action – loading a PNG image
- Time for action – generating an OpenGL texture
- Drawing 2D sprites
- Time for action – initializing OpenGL ES
- Rendering particle effects
- Time for action – rendering a star field
- Adapting graphics to various resolutions
- Time for action – adapting resolution with off-screen rendering
- Summary
- Chapter 7: Playing Sound with OpenSL ES
- Chapter 8: Handling Input Devices and Sensors
- Interacting with touch events
- Time for action – handling touch events
- Detecting keyboard, D-Pad, and Trackball events
- Time for action – handling keyboard, D-Pad, and trackball events natively
- Probing device sensors
- Time for action – handling accelerometer events
- Time for action – turning an Android device into a Joypad
- Summary
- Chapter 9: Porting Existing Libraries to Android
- Activating the Standard Template Library
- Time for action – activating GNU STL in DroidBlaster
- Time for action – read files with STL stream
- Time for action – using STL containers
- Porting Box2D to Android
- Time for action – compiling Box2D on Android
- Time for action – running Box2D physics engine
- Prebuilding Boost on Android
- Time for action – prebuilding Boost static library
- Time for action – compiling an executable linked to Boost
- Mastering module Makefiles
- Summary
- Chapter 10: Intensive Computing with RenderScript
- What is RenderScript ?
- Executing a predefined Intrinsic
- Time for action – creating a Java UI
- Time for action – running RenderScript Blur intrinsic
- Writing a custom Kernel
- Time for action – writing a luminance threshold filter
- Combining scripts together
- Time for action – combining Intrinsics and scripts together
- Summary
- Afterword
- Index