Index
A
- AAsetMAnager opaque pointer / Time for action – loading a texture in OpenGL ES
- AAssetManager_open() / Time for action – loading a texture in OpenGL ES
- AAsset_close() / Time for action – loading a texture in OpenGL ES
- AASSET_MODE_BUFFER / Time for action – loading a texture in OpenGL ES
- AASSET_MODE_RANDOM / Time for action – loading a texture in OpenGL ES
- AASSET_MODE_STREAMING / Time for action – loading a texture in OpenGL ES
- AASSET_MODE_UNKNOWN mode / Time for action – loading a texture in OpenGL ES
- AAsset_read() / Time for action – loading a texture in OpenGL ES
- ABI
- about / ARM, thumb, and NEON
- ABIs
- thumb / ARM, thumb, and NEON
- about / ARM, thumb, and NEON
- armeabi / ARM, thumb, and NEON
- armeabi-v7a / ARM, thumb, and NEON
- x86 / ARM, thumb, and NEON
- activate() method / Time for action – handling activity events
- activityCallback() / Time for action – handling activity events
- activity events
- ActivityHandler interface / Time for action – handling activity events
- Activity Manager / Time for action – compiling and deploying the hellojni sample
- activity state
- ADB shell
- about / Android debug bridge
- options / Android debug bridge
- flags / Android debug bridge
- addr2line utility / Time for action – analysing a crash dump
- Adreno Profiler
- about / Performance analysis
- ADT / What just happened?
- ADT plugin / What just happened?
- AInputEvent structure / Time for action – handling touch events
- AInputEvent_getSource() method / What just happened?
- AInputEvent_getType() method / What just happened?
- AInputQueue_attachLooper() / Native thread
- AInputQueue_detachLooper() / Native thread
- AKeyEvent_getAction() / Time for action – handling keyboard, D-Pad, and trackball, natively, What just happened?
- AKeyEvent_getDownTime() / What just happened?
- AKeyEvent_getFlags() / What just happened?
- AKeyEvent_getKeyCode() / Time for action – handling keyboard, D-Pad, and trackball, natively, What just happened?
- AKeyEvent_getMetaState() / What just happened?
- AKeyEvent_getRepeatCount() / What just happened?
- AKeyEvent_getScanCode() / What just happened?
- allocateEntry() / Time for action – building a native key/value store, Time for action – raising exceptions from the Store
- ALooper_addFd() / Native thread
- ALooper_pollAll() behavior / Time for action – handling activity events
- ALooper_pollAll() method / What just happened?, Native thread
- ALooper_prepare() / Native thread
- am command / Time for action – compiling and deploying the hellojni sample
- AMotionEvent_getAction() / What just happened?, What just happened?
- AMotionEvent_getDownTime() / What just happened?
- AMotionEvent_getEventTime() / What just happened?
- AMotionEvent_getHistoricalX() / What just happened?
- AMotionEvent_getHistoricalY() / What just happened?
- AMotionEvent_getHistorySize() / What just happened?
- AMotionEvent_getPointerCount() / What just happened?
- AMotionEvent_getPointerId() / What just happened?
- AMotionEvent_getPressure() / What just happened?
- AMotionEvent_getSize() / What just happened?
- AMotionEvent_getX() / Time for action – handling touch events, What just happened?, What just happened?
- AMotionEvent_getY() / Time for action – handling touch events, What just happened?, What just happened?
- ANativeActivity structure / UI thread
- ANativeActivity_finish() method / Time for action – handling activity events
- ANativeActivity_onCreate() method / More on Native App Glue, UI thread
- about / UI thread
- ANativeWindow_Buffer structure / Time for action – displaying raw graphics and implementing a timer
- ANativeWindow_lock() / Time for action – displaying raw graphics and implementing a timer
- ANativeWindow_setBuffersGeometry() / Time for action – displaying raw graphics and implementing a timer
- ANativeWindow_unlockAndPost() method / Time for action – displaying raw graphics and implementing a timer
- Android
- interacting with / Interacting with Android
- touch events, handling / Time for action – handling touch events, What just happened?
- software keyboard, displaying / Have a go hero – displaying software keyboard
- device sensors, probing / Probing device sensors
- Boost, compiling on / Compiling Boost on Android
- third-party libraries, porting to / Porting third-party libraries to Android
- 3D engine, running / Running a 3D engine on Android
- Android-NDK-Profiler
- about / Performance analysis
- Android.mk file / Time for action – building a native key/value store
- Android debug bridge
- about / Android debug bridge
- file, transfering SD card from command line / Have a go hero – transferring a file to SD card from command line
- Android Debug Bridge (ADB) / What just happened?
- Android development
- getting started / Getting started with Android development
- platforms / Getting started with Android development
- software requisites / Getting started with Android development
- Windows, setting up / Setting up Windows, Time for action – preparing Windows for Android development, What just happened?
- kit, installing on Windows / Installing Android development kits on Windows
- Mac OS X, setting up / Setting up Mac OS X, Time for action – preparing Mac OS X for Android development
- kit, installing on Mac OS X / Installing Android development kits on Mac OS X
- Ubuntu Linux, installing / Time for action – preparing Ubuntu Linux for Android development, What just happened?
- kit, installing, on Linux / Installing Android development kits on Linux, Time for action – installing Android SDK and NDK on Ubuntu
- device, troubleshooting / Troubleshooting a development device
- Android development kits
- installing, on Windows / Installing Android development kits on Windows
- installing, on Mac OS X / Installing Android development kits on Mac OS X
- installing, on Linux / Installing Android development kits on Linux
- Android device
- setting up, on Windows / Time for action – setting up your Android device on Windows and Mac OS X, What just happened?
- setting up, on Mac OS X / Time for action – setting up your Android device on Windows and Mac OS X, What just happened?
- setting up, on Ubuntu Linux / Time for action – setting up your Android device on Ubuntu
- setting up, on Ubuntu / What just happened?
- Android Gingerbread
- about / Performance analysis
- Android makefiles
- about / Mastering Makefiles
- Android Makefiles
- about / More on Makefiles
- AndroidManifest.xml file / Time for action – debugging DroidBlaster
- Android NDK / Accessing window and time natively
- installing, on Windows / Time for action – installing Android SDK and NDK on Windows
- installing, on Ubuntu / Time for action – installing Android SDK and NDK on Ubuntu
- Irrlicht, compiling / Time for action – compiling Box2D and Irrlicht with the NDK, What just happened?
- Box2D, compiling / Time for action – compiling Box2D and Irrlicht with the NDK, What just happened?
- about / Debugging with GDB
- android project
- creating, eclipse used / Creating your first Android project using eclipse
- java project, initiating / Time for action – initiating a Java project
- Android SDK
- installing, on Windows / Time for action – installing Android SDK and NDK on Windows
- installing, on Mac OS X / Time for action – installing Android SDK and NDK on Mac OS X
- installing, on Ubuntu / Time for action – installing Android SDK and NDK on Ubuntu
- emulating / Emulating Android
- Android virtual device, creating / Time for action – creating an Android virtual device, What just happened?
- Android SDK tools
- exploring / Exploring Android SDK tools
- Android debug bridge / Android debug bridge
- project configuration tool / Project configuration tool
- android_app structure
- about / Android_app structure
- contextual information / Android_app structure
- android_app_entry() method / Native thread
- android_app_write_cmd() method / UI thread
- android_getCpuFamily() method / ARM, thumb, and NEON
- android_getCpuFeatures() method / ARM, thumb, and NEON
- ANDROID_LOG_DEBUG / Time for action – creating a basic native activity
- ANDROID_LOG_ERROR / Time for action – creating a basic native activity
- ANDROID_LOG_WARN / Time for action – creating a basic native activity
- android_main() method / What just happened?
- android_native_app_glue module / More on Native App Glue
- android_poll_source / Time for action – turning your device into a joypad
- android_poll_source structure / What just happened?
- apply() method / Time for action – loading a texture in OpenGL ES
- APP_OPTIM flag / Time for action – debugging DroidBlaster
- app_process file / Time for action – debugging DroidBlaster
- ARM DS-5
- about / Performance analysis
- armeabi
- about / ARM, thumb, and NEON
- armeabi-v7a
- about / ARM, thumb, and NEON
- ArmV7 mode
- about / Performance analysis
- ArrayIndexOutOfBoundsException() / Time for action – saving a reference to an object in the Store
- array types
- handling / Have a go hero – handling other array types
- ASensorEventQueue_disableSensor() / Time for action – turning your device into a joypad
- ASensorEventQueue_enableSensor() / Time for action – turning your device into a joypad
- ASensorEventQueue_setEventRate() / Time for action – turning your device into a joypad
- ASensorManager_createEventQueue() / Time for action – turning your device into a joypad
- ASensorManager_destroyEventQueue() / Time for action – turning your device into a joypad
- ASensorManager_getDefaultSensor() / Time for action – turning your device into a joypad
- ASensorManager_getInstance() / Time for action – turning your device into a joypad
- ASensor_getMinDelay() / Time for action – turning your device into a joypad, What just happened?
- ASensor_getName() / What just happened?
- ASensor_getVendor() / What just happened?
- asset manager / Reading PNG textures with the asset manager
- AttachCurrentThread() / Time for action – running a background thread
- AudioPlayer object / What just happened?
B
- back buffer / Time for action – initializing OpenGL ES
- background music
- background thread
- BeginContact() method / Time for action – simulating physics with Box2D, More on collision detection
- beingScene() method / Time for action – rendring 3D graphics with Irrlicht
- bionic
- bitmaps
- processing from native code / Processing bitmaps natively
- bitmaps, processing from native code
- camera feed, decoding / Time for action – decoding camera feed from native code, What just happened?
- BJam
- Blender
- 3D modeling / What just happened?
- about / What just happened?
- bodies
- about / Simulating physics with Box2D
- characteristics / Simulating physics with Box2D, What just happened?
- body
- body definition
- body fixture
- Boost
- compiling, on Android / Compiling Boost on Android
- about / Compiling Boost on Android
- embedding, in DroidBlaster / Time for action – embedding Boost in DroidBlaster, What just happened?
- URL, for downloading / Time for action – embedding Boost in DroidBlaster
- URL, for documentation / What just happened?
- threading with / Have a go hero – threading with Boost
- boost directory
- BOOST_FILESYSTEM_VERSION option / Time for action – embedding Boost in DroidBlaster
- BOOST_NO_INTRINSIC_WCHAR_T option / Time for action – embedding Boost in DroidBlaster
- Box2D
- about / Porting third-party libraries to Android, Simulating physics with Box2D
- compiling, with Android NDK / Time for action – compiling Box2D and Irrlicht with the NDK, What just happened?
- URL / Time for action – compiling Box2D and Irrlicht with the NDK
- physics, simulating with / Time for action – simulating physics with Box2D, What just happened?
- memory management / What just happened?
- collision detection / More on collision detection
- collision modes / Collision modes
- collision filtering / Collision filtering
- resources / More resources about Box2D
- Box2D 2.2.1 archive
- Box2D body
- about / What just happened?
- b2BodyDef / What just happened?
- b2Shape / What just happened?
- b2PolygonShape / What just happened?
- b2CircleShape / What just happened?
- b2FixtureDef / What just happened?
- b2Body / What just happened?
- BSP
- BSP format
- about / Running a 3D engine on Android
- bufferize()
- bufferize() method / Time for action – embedding GNU STL in DroidBlaster
- bullet mode
- about / Collision modes
C
- C
- about / JNI in C++
- C++
- about / JNI in C++
- C++ class
- C/C++
- java, interfacing with / Interfacing Java with C/C++
- C99 standard library / What just happened?
- callbacks
- about / More on callbacks, Event callback
- callback_input() / Time for action – handling touch events
- callback_read() / Time for action – loading a texture in OpenGL ES
- callback_recorder() / Have a go hero – recording and playing a sound
- callback_sensor() / Time for action – turning your device into a joypad
- CallBooleanMethod() / Time for action – invoking Java code from a native thread
- CallIntMethod() / Time for action – invoking Java code from a native thread
- CallStaticVoidMethod(). / Time for action – invoking Java code from a native thread
- CallVoidMethod() / Time for action – invoking Java code from a native thread
- camera feed
- decoding, from native code / Time for action – decoding camera feed from native code
- cat command / Android debug bridge
- C code
- calling, from java / Time for action – calling C code from Java
- cd command / Android debug bridge
- CDT
- about / Debugging with GDB
- chmod command / Android debug bridge
- chrominance components / Time for action – decoding camera feed from native code
- clamp() method / Time for action – decoding camera feed from native code
- class loader / Time for action – running a background thread
- clear() method / Time for action – initializing OpenGL ES
- clock_gettime() / Time for action – displaying raw graphics and implementing a timer, More on time primitives
- CLOCK_MONOTONIC / More on time primitives
- CMake
- about / Makefile Instructions
- collision detection
- about / More on collision detection
- collision filtering
- about / Collision filtering
- collision groups
- about / Collision filtering
- collision modes
- about / Collision modes
- Color() method / Time for action – decoding camera feed from native code
- Color data type / Time for action – saving a reference to an object in the Store
- com.example.hellojni / What just happened?
- com.example.hellojni.HelloJni / What just happened?
- command
- executing / Have a go hero – towards continuous integration
- com_myproject_MyActivity.c / Time for action – calling C code from Java
- Continuous Collision Detection (CCD)
- about / Collision modes
- continuous integration / Have a go hero – towards continuous integration
- Cortex-A8
- about / ARM, thumb, and NEON
- crash dump
- analysing / Time for action – analysing a crash dump, What just happened?
- about / More on crash dumps
- createDevice() method / Time for action – rendring 3D graphics with Irrlicht
- CreateOutputMix() method
- createTarget() method / Time for action – simulating physics with Box2D
- Current Program Status Register
- about / More on crash dumps
- Cygwin
- about / What just happened?
- char return / What just happened?
D
- 3D engine
- about / Simulating physics with Box2D
- running, on Android / Running a 3D engine on Android
- features / Running a 3D engine on Android
- 3D graphics
- rendering, with Irrlicht / Time for action – rendring 3D graphics with Irrlicht, What just happened?
- 3D modeling, Blender / What just happened?
- 3DS
- about / Running a 3D engine on Android
- D-Pad
- Dalvik
- introducing / Introducing Dalvik
- damping
- about / What just happened?
- deactivate() method / Time for action – handling activity events, Time for action – turning your device into a joypad
- debuggers
- about / Stack trace analysis
- decode() method / Time for action – decoding camera feed from native code
- DeleteGlobalRef() / Time for action – saving a reference to an object in the Store, Checking JNI exceptions, Time for action – running a background thread
- DeleteLocalRef() / Time for action – raising exceptions from the Store, Checking JNI exceptions
- density
- about / Simulating physics with Box2D
- density property
- about / What just happened?
- descript() method / Time for action – playing background music, Time for action – embedding GNU STL in DroidBlaster
- DetachCurrentThread() / Attaching and detaching threads
- device
- turning, into joypad / Time for action – turning your device into a joypad
- device sensors
- probing / Probing device sensors
- Dex
- about / Introducing Dalvik
- DirectX
- Discrete Collision Detection
- about / Collision modes
- display
- connecting / Time for action – initializing OpenGL ES
- dmesg command / Android debug bridge
- drawCursor() method / Time for action – initializing OpenGL ES
- DroidBlaster
- launching / What just happened?
- about / Interacting with Android
- project structure / Interacting with Android
- Gnu STL, embedding / Time for action – embedding GNU STL in DroidBlaster, What just happened?
- Boost, embedding / Time for action – embedding Boost in DroidBlaster, What just happened?
- debugging / Time for action – debugging DroidBlaster, What just happened?
- DroidBlaster.hpp file
- creating / Time for action – handling activity events
- DroidBlaster project
- drop() method / Time for action – rendring 3D graphics with Irrlicht
- dumpsys command / Android debug bridge
- dx tool
- about / Introducing Dalvik
E
- EASTL
- about / STL performances
- eclipse
- native code, compiling from / Compiling native code from Eclipse
- Eclipse
- setting up / Setting up the Eclipse development environment
- installing / Time for action – installing Eclipse
- about / Debugging with GDB
- configuring / Time for action – debugging DroidBlaster
- Eclipse perspectives / Creating your first Android project using eclipse
- Eclipse project
- setting up / Time for action – creating a basic native activity
- Eclipse views / Creating your first Android project using eclipse
- EGL
- about / Initializing OpenGL ES
- eglChooseConfig() / Time for action – initializing OpenGL ES
- eglGetConfigAttrib() / Time for action – initializing OpenGL ES
- eglGetConfigs() / Time for action – initializing OpenGL ES
- eglGetDisplay() / Time for action – initializing OpenGL ES
- eglInitialize() / Time for action – initializing OpenGL ES
- eglSwapBuffers() / Time for action – initializing OpenGL ES
- elapsed() method / Time for action – displaying raw graphics and implementing a timer
- EMF_LIGHTING flag
- EndContact() method / More on collision detection
- endianness / What just happened?
- endScene() method / Time for action – rendring 3D graphics with Irrlicht
- event callback
- about / Event callback
- EventLoop.cpp / Time for action – handling activity events
- EventLoop class / Time for action – handling activity events
- EventLoop object / Time for action – handling activity events
- ExceptionCheck() / Time for action – saving a reference to an object in the Store, Checking JNI exceptions
- ExceptionDescribe() / Checking JNI exceptions
- ExceptionOccured() / Checking JNI exceptions
- exceptions
- throwing, from native code / Throwing exceptions from native code
- raising, from store / Time for action – raising exceptions from the Store
F
- -force flag / Time for action – debugging DroidBlaster
- features, 3D engine / Running a 3D engine on Android
- finalizeStore() method / Time for action – running a background thread
- FindClass() method / Calling Java back from native code
- about / More on callbacks
- findEntry() method / Time for action – building a native key/value store
- fixture
- forces
- about / What just happened?
- framebuffer / Time for action – initializing OpenGL ES
- friction
- about / Simulating physics with Box2D
- friction property
- about / What just happened?
- front buffer / Time for action – initializing OpenGL ES
- function inlining
- about / GCC optimization levels
- Function object / Time for action – saving a reference to an object in the Store
G
- GCC
- optimization levels / GCC optimization levels
- URL, for optimization options / GCC optimization levels
- about / ARM, thumb, and NEON
- GCC, optimization levels
- -O0 / GCC optimization levels
- -O1 / GCC optimization levels
- -O2 / GCC optimization levels
- -O3 / GCC optimization levels
- -Os / GCC optimization levels
- GCC 3.x
- about / What just happened?
- GCC 4.x
- about / What just happened?
- GCC toolchain
- about / Debugging with GDB
- GDB
- about / Debugging with GDB
- native code, debugging / Debugging with GDB, Time for action – debugging DroidBlaster, What just happened?
- gdb.setup file / Time for action – debugging DroidBlaster
- geometrical shape
- about / Simulating physics with Box2D
- GetArrayLength() / Time for action – saving a reference to an object in the Store
- getColor() method / Time for action – saving a reference to an object in the Store
- getExternalStorageState() method / Time for action – embedding GNU STL in DroidBlaster
- getHorizontal() method / Time for action – handling touch events
- GetIntArrayRegion() / Time for action – saving a reference to an object in the Store, Checking JNI exceptions
- getInteger() / Time for action – building a native key/value store
- getJNIEnv() method / Time for action – running a background thread
- getMyData() / Time for action – calling C code from Java
- GetObjectArrayElement() / Time for action – saving a reference to an object in the Store, What just happened?
- GetObjectClass() method
- about / More on callbacks
- GetPrimitiveArrayCritical() / Time for action – decoding camera feed from native code
- GetStringUTFChars() method / Time for action – building a native key/value store, What just happened?
- gettimeofday() / More on time primitives
- getVertical() method / Time for action – handling touch events
- glBindBuffer()
- glBindTexture() / Time for action – loading a texture in OpenGL ES, Time for action – drawing a Ship sprite
- glBufferData()
- glClear() / Time for action – initializing OpenGL ES
- glClearColor() / Time for action – initializing OpenGL ES
- glColor4f() / Time for action – drawing a Ship sprite
- glDeleteTextures() / Time for action – loading a texture in OpenGL ES
- glDrawElements()
- glDrawTexfOES() / Time for action – drawing a Ship sprite
- glDrawTexOES() / What just happened?
- glEnable() / What just happened?
- glEnableClientState()
- glGenBuffers()
- glGenTextures() / Time for action – loading a texture in OpenGL ES
- global references / Time for action – saving a reference to an object in the Store
- glPushMatrix()
- glTexCoordPointer()
- glTexParameteriv() / Time for action – drawing a Ship sprite
- glTranslatef()
- glVertexPointer()
- GL_LINEAR / Time for action – loading a texture in OpenGL ES
- GL_OES_draw_texture / Drawing a sprite
- GL_TEXTURE_CROP_RECT_OES / Time for action – drawing a Ship sprite
- GNU Debugger
- about / Debugging with GDB
- Gnu STL
- embedding, in DroidBlaster / Time for action – embedding GNU STL in DroidBlaster, What just happened?
- GNU STL
- Google Guava / Time for action – saving a reference to an object in the Store
- Google SparseHash
- about / STL performances
- Gprof
- about / Performance analysis
- GProf
- running / Time for action – running GProf, What just happened?
- working / How it works
- gprof utility
- about / What just happened?
- GraphicsObject
- GraphicsService
- GraphicsSprite.cpp / Time for action – drawing a Ship sprite
- GrapicsService lifecycle
H
- HDPI (High Density) screen / What just happened?
- hellojni sample
- hybrid java/C/C++ project
I
- IAnimatedMeshSceneNode / More on Irrlicht scene management
- IBillboardSceneNode / More on Irrlicht scene management
- ICameraSceneNode / More on Irrlicht scene management
- ILightSceneNode / More on Irrlicht scene management
- import-module directive / What just happened?
- index buffer
- info() method / Time for action – creating a basic native activity
- initialize() method / Time for action – simulating physics with Box2D
- initializeStore() method / Time for action – running a background thread
- int32_t / What just happened?
- interface
- about / More on OpenSL ES philosophy
- interface ID
- about / More on OpenSL ES philosophy
- interfaces
- intra procedure call scratch register
- about / More on crash dumps
- IParticleSceneNode / More on Irrlicht scene management
- Irrlicht
- about / Porting third-party libraries to Android
- compiling, with Android NDK / Time for action – compiling Box2D and Irrlicht with the NDK, What just happened?
- 3D graphics, rendering with / Time for action – rendring 3D graphics with Irrlicht, What just happened?
- memory management / What just happened?
- scene management / More on Irrlicht scene management
- IrrlichtDevice class / What just happened?
- ISceneManager
- about / What just happened?
- isEntryValid() / Time for action – building a native key/value store, Time for action – raising exceptions from the Store
- IsTouching() method / Collision modes
- ITerrainSceneNode / More on Irrlicht scene management
- IVideoDriver
- about / What just happened?
J
- Java
- calling back, from native code / Calling Java back from native code, Time for action – invoking Java code from a native thread, What just happened?
- java
- interfacing, with C/C++ / Interfacing Java with C/C++
- java, interfacing with C/C++
- C code, calling from java / Time for action – calling C code from Java, What just happened?
- Android Makefiles / More on Makefiles
- java.lang.UnsatisfiedLinkError / What just happened?
- Java and native code lifecycles
- about / More on Java and native code lifecycles
- strategies, for overcoming issues / More on Java and native code lifecycles
- Java and native threads
- synchronizing / Synchronizing Java and native threads
- background thread, running / Time for action – running a background thread
- detaching / Attaching and detaching threads
- attaching / Attaching and detaching threads
- Java arrays
- handling / Handling Java arrays
- object reference, saving / Time for action – saving a reference to an object in the Store, What just happened?
- Java code
- invoking, from native thread / Time for action – invoking Java code from a native thread
- javah tool / What just happened?
- running / What just happened?
- Java objects
- referencing, from native code / Referencing Java objects from native code
- reference, saving / Time for action – saving a reference to an object in the Store, What just happened?
- global reference / Local and global JNI references
- local reference / Local and global JNI references
- Java primitives
- working with / Working with Java primitives
- native key/value store, building / Time for action – building a native key/value store, What just happened?
- primitive types, returning / Have a go hero – passing and returning other primitive types
- primitive types, passing / Have a go hero – passing and returning other primitive types
- java project
- initiating / Time for action – initiating a Java project
- JavaVM / Time for action – running a background thread
- JAVA_HOME environment variable / What just happened?
- jbooleanArray / What just happened?
- jbyteArray / What just happened?
- jcharArray / What just happened?
- jdoubleArray / What just happened?
- jfloatArray / What just happened?
- jintArray / Time for action – saving a reference to an object in the Store
- jlongArray / What just happened?
- JNI, in C++
- about / JNI in C++
- JNIEnv
- about / More on callbacks
- JNI exceptions
- checking / Checking JNI exceptions
- JNI method definitions
- about / JNI method definitions
- JNI methods
- DeleteLocalRef() / Checking JNI exceptions
- PushLocalFrame() / Checking JNI exceptions
- DeleteGlobalRef() / Checking JNI exceptions
- PopLocalFrame() / Checking JNI exceptions
- ExceptionOccured() / Checking JNI exceptions
- ReleaseStringChars() / Checking JNI exceptions
- ExceptionDescribe() / Checking JNI exceptions
- ReleaseStringUTFChars() / Checking JNI exceptions
- ReleaseStringCritical() / Checking JNI exceptions
- Release<Primitive>ArrayElements() / Checking JNI exceptions
- MonitorExit() / Checking JNI exceptions
- ReleasePrimitiveArrayCritical() / Checking JNI exceptions
- JNI_OnLoad() / Attaching and detaching threads
- jobject / Referencing Java objects from native code
- jobject parameters / What just happened?
- joints
- about / Simulating physics with Box2D
- JPEG
- about / Running a 3D engine on Android
- jshortArray / What just happened?
- jstring / Referencing Java objects from native code
- jstring parameter / Time for action – building a native key/value store
- jvalue array
- about / More on callbacks
K
- keyboard
L
- layout_height
- layout_width
- LDR instruction / What just happened?
- Level of Detail (LOD) / More on Irrlicht scene management
- libc.so file / Time for action – debugging DroidBlaster
- libpng NDK
- integrating / Reading PNG textures with the asset manager
- libstdc++
- libzip / Time for action – loading a texture in OpenGL ES
- link register
- about / More on crash dumps
- Linux
- setting up / Setting up Linux, Time for action – preparing Ubuntu Linux for Android development, What just happened?
- Android SDK, installing / Time for action – installing Android SDK and NDK on Ubuntu
- Android NDK, installing / Time for action – installing Android SDK and NDK on Ubuntu
- Android device, setting up / Time for action – setting up your Android device on Ubuntu
- linux
- Android development kit, installing / Installing Android development kits on Linux
- loadFile()
- loadImage() / Time for action – loading a texture in OpenGL ES
- loadImage() method / Time for action – loading a texture in OpenGL ES
- loadIndexes()
- loadLibrary() method / Static versus shared
- loadVertices()
- local references / Time for action – saving a reference to an object in the Store
- LOCAL_ARM_MODE variable / Makefile variables
- LOCAL_ARM_NEON variable / Makefile variables
- LOCAL_CFLAGS variable / Makefile variables
- LOCAL_CPPFLAGS variable / Makefile variables
- LOCAL_CPP_EXTENSION variable / Makefile variables
- LOCAL_C_INCLUDES variable / Makefile variables
- LOCAL_DISABLE_NO_EXECUTE variable / Makefile variables
- LOCAL_EXPORT_CFLAGS variable / Makefile variables
- LOCAL_EXPORT_CPPFLAGS variable / Makefile variables
- LOCAL_EXPORT_C_INCLUDES / Time for action – compiling Box2D and Irrlicht with the NDK
- LOCAL_EXPORT_LDLIBS variable / Makefile variables
- LOCAL_LDLIBS variable / Makefile variables
- LOCAL_MODULE variable / More on Makefiles, Makefile variables
- LOCAL_MODULE_FILENAME variable / Makefile variables
- LOCAL_PATH variable / Makefile variables
- LOCAL_SHARED_LIBRARIES variable / Makefile variables
- LOCAL_SRC_FILES variable / Time for action – displaying raw graphics and implementing a timer, Makefile variables
- LOCAL_STATIC_LIBRARIES variable / Makefile variables
- LOCLOCAL_FILTER_ASM variable / Makefile variables
- logcat command / Android debug bridge
- LogCat crash dump
- about / More on crash dumps
- Looper / Native thread
- ls command / Android debug bridge
- luminance component / Time for action – decoding camera feed from native code
M
- Mac OS X
- setting up, for Android development / Setting up Mac OS X, Time for action – preparing Mac OS X for Android development
- Android development kit, installing / Installing Android development kits on Mac OS X
- Android SDK, installing / Time for action – installing Android SDK and NDK on Mac OS X
- and environment variables / What just happened?
- Android device, setting up / Time for action – setting up your Android device on Windows and Mac OS X, What just happened?
- mActivityHandler event / Time for action – handling activity events
- Make
- makefiles
- mastering / Mastering Makefiles, Have a go hero – mastering Makefiles
- variables / Makefile variables
- instructions / Makefile Instructions
- built-in functions / Makefile Instructions
- files manipulation functions / Makefile Instructions
- strings manipulation functions / Makefile Instructions
- makeGlobalRef() / Time for action – invoking Java code from a native thread
- makeGlobalRef() utility / Time for action – invoking Java code from a native thread
- mAnimFrameCount / Time for action – drawing a Ship sprite
- mAnimSpeed / Time for action – drawing a Ship sprite
- max() method / Time for action – decoding camera feed from native code
- mcount() method / How it works
- memory management, Box2D / What just happened?
- memory management, Irrlicht / What just happened?
- memset() / Time for action – displaying raw graphics and implementing a timer
- MIME player / What just happened?
- MIME source / Time for action – playing background music
- mInteger / Time for action – building a native key/value store
- moncleanup() method / What just happened?
- MonitorEnter() method / Time for action – running a background thread
- MonitorExit() / Checking JNI exceptions
- MonitorExit() method / Time for action – running a background thread
- MonkeyRunner / Have a go hero – towards continuous integration
- monotonic clock / Time for action – displaying raw graphics and implementing a timer
- monotonic timer / More on time primitives
- monstartup() method / What just happened?
- MotionEvent / Time for action – handling touch events
- movement constraints
- about / Simulating physics with Box2D
- music files
- playing / Playing music files
- background music, playing / Time for action – playing background music
N
- native activity
- creating / Creating a native activity
- basic native activity, creating / Time for action – creating a basic native activity, What just happened?
- NativeActivity class / Creating a native activity, What just happened?
- Native App Glue
- about / More on Native App Glue
- UI thread / UI thread
- native thread / Native thread
- Android_app structure / Android_app structure
- activity state, saving / Have a go hero – saving activity state
- native code
- compiling, from eclipse / Compiling native code from Eclipse
- Java, calling back from / Calling Java back from native code, Time for action – invoking Java code from a native thread, What just happened?
- debugging, with GDB / Debugging with GDB, Time for action – debugging DroidBlaster, What just happened?
- Native glue module code
- location / More on Native App Glue
- native key/value store
- native_app_glue module / What just happened?
- NDEBUG option / Time for action – embedding Boost in DroidBlaster
- ndk-build command / Time for action – compiling and deploying the hellojni sample
- ndk-gdb command / Time for action – debugging DroidBlaster
- ndk-stack
- NDK sample applications
- deploying / Compiling and deploying NDK sample applications
- compiling / Compiling and deploying NDK sample applications
- hellojni sample, deploying / Time for action – compiling and deploying the hellojni sample, What just happened?
- hellojni sample, compiling / Time for action – compiling and deploying the hellojni sample, What just happened?
- NEON
- about / ARM, thumb, and NEON
- NewGlobalRef() / Time for action – saving a reference to an object in the Store
- NewIntArray() / Time for action – saving a reference to an object in the Store
- NewObject() / Time for action – invoking Java code from a native thread
- NewStringUTF() / Time for action – building a native key/value store
- no-strict-aliasing option / Time for action – embedding Boost in DroidBlaster
- nodes
- now() method / Time for action – displaying raw graphics and implementing a timer
- NVidia
- about / Performance analysis
- Nvidia Tegra 2
- about / ARM, thumb, and NEON
O
- -02 option / Time for action – embedding Boost in DroidBlaster
- OBJ
- about / Running a 3D engine on Android
- objdump command / Time for action – analysing a crash dump
- object
- about / More on OpenSL ES philosophy
- objects
- Octree
- onAccelerometerEvent() / Have a go hero – Handling screen rotation
- onActivate() method / Time for action – handling activity events, Time for action – analysing a crash dump
- onAppCmd / Time for action – handling activity events
- onConfigurationChanged event / UI thread
- onDeactivate() method / Time for action – handling activity events
- onDestroy() method / Time for action – handling activity events
- onDestroy event / UI thread
- onGetValue() method / Time for action – saving a reference to an object in the Store
- onInputQueueCreated event / UI thread
- onInputQueueDestoyed event / UI thread
- onKeyboardEvent() / Time for action – handling keyboard, D-Pad, and trackball, natively
- onLowMemory event / UI thread
- onNativeWindowCreated event / UI thread
- onNativeWindowDestroyed event / UI thread
- onPause() method / Time for action – handling activity events
- onPause event / UI thread
- onPreviewFrame() / Time for action – decoding camera feed from native code
- onResume() method / Time for action – handling activity events
- onResume event / UI thread
- onSaveInstance event / UI thread
- onStart() method / Time for action – handling activity events
- onStart event / UI thread
- onStep() method / Time for action – handling activity events, Time for action – initializing OpenGL ES
- onStop() method / Time for action – handling activity events
- onStop event / UI thread
- onTouchEvent() / Time for action – handling touch events
- onWindowFocusedChanged event / UI thread
- OpenGL ES
- about / What just happened?
- initializing / Initializing OpenGL ES, Time for action – initializing OpenGL ES
- texture, loading / Time for action – loading a texture in OpenGL ES
- OpenGL ES 1
- about / Running a 3D engine on Android
- Open GL ES 2
- about / Running a 3D engine on Android
- OpenGL ES initialization code
- OpenSL ES
- initializing / Initializing OpenSL ES
- about / More on OpenSL ES philosophy
- object / More on OpenSL ES philosophy
- interface / More on OpenSL ES philosophy
- interface ID / More on OpenSL ES philosophy
- OpenSL ES engine
- OpenSL ES initialization
- engine, creating / Time for action – creating OpenSL ES engine and output
- OpenSL ES object
- setting up / More on OpenSL ES philosophy
- OProfile
- about / Performance analysis
- optimization levels, GCC
- about / GCC optimization levels
- -O0 / GCC optimization levels
- -O1 / GCC optimization levels
- -O2 / GCC optimization levels
- -O3 / GCC optimization levels
- -Os / GCC optimization levels
- OutputMix object / Time for action – playing background music
P
- packt_Log_debug macro / Time for action – creating a basic native activity
- page flipping / Time for action – initializing OpenGL ES
- parallax effect
- about / What just happened?
- parse_error_handler() method
- pCommand / Time for action – handling activity events
- PerfHUD ES
- about / Performance analysis
- performance
- about / ARM, thumb, and NEON
- performance analysis
- about / Performance analysis
- physics
- simulating, with Box2D / Time for action – simulating physics with Box2D, What just happened?
- PhysicsObject class
- PID / More on crash dumps
- playBGM() method / Time for action – playing background music
- playRecordedSound() / Have a go hero – recording and playing a sound
- playSound() method / Time for action – creating and playing a sound buffer queue
- PNG
- PNG textures
- reading, asset manager used / Reading PNG textures with the asset manager
- loading, in OpenGL ES / Time for action – loading a texture in OpenGL ES, What just happened?
- png_read_image() / Time for action – loading a texture in OpenGL ES
- png_read_update_info() / Time for action – loading a texture in OpenGL ES
- PopLocalFrame() / Checking JNI exceptions
- Posix APIs / Accessing window and time natively
- PostSolve() method / More on collision detection
- PowerVR
- about / Performance analysis
- PREBUILT_STATIC_LIBRARY directive
- about / What just happened?
- PreSolve() method / More on collision detection
- primitives array types
- jbooleanArray / What just happened?
- jbyteArray / What just happened?
- jcharArray / What just happened?
- jdoubleArray / What just happened?
- jfloatArray / What just happened?
- jlongArray / What just happened?
- jshortArray / What just happened?
- printf() method / Time for action – creating a basic native activity
- processActivityEvent() / Time for action – handling activity events
- processEntry() / Time for action – running a background thread, Time for action – invoking Java code from a native thread
- processEntry() method / Time for action – running a background thread
- processInputEvent() method / Time for action – handling touch events, Time for action – handling keyboard, D-Pad, and trackball, natively
- process_cmd() method / Native thread
- process_input() method / Native thread
- Program Counter
- program counter
- about / More on crash dumps
- project configuration tool
- about / Project configuration tool
- create project option / Project configuration tool
- update project option / Project configuration tool
- continuous integration / Have a go hero – towards continuous integration
- ps command / Android debug bridge
- pthread_key_create() / Attaching and detaching threads
- pthread_setspecific() / Attaching and detaching threads
- PushLocalFrame() / Checking JNI exceptions
- PVRTune
- about / Performance analysis
- pwd command / Android debug bridge
- Python
Q
- Quake levels
- about / Running a 3D engine on Android
- Qualcomm
- about / Performance analysis
R
- RAII
- about / What just happened?
- RapidXml library
- RDESTL
- about / STL performances
- Realize() method
- recordSound() / Have a go hero – recording and playing a sound
- RegisterCallback() method
- about / Event callback
- registerEntity() method / Time for action – simulating physics with Box2D
- registerObject() method / Time for action – rendring 3D graphics with Irrlicht
- registerSound() method / Time for action – creating and playing a sound buffer queue
- registerTexture() / Time for action – loading a texture in OpenGL ES
- registerTileMap()
- Release<Primitive>ArrayElements() / Checking JNI exceptions
- releaseEntryValue() / Time for action – building a native key/value store, Time for action – saving a reference to an object in the Store
- ReleasePrimitiveArrayCritical() / Checking JNI exceptions
- ReleaseStringChars() / Checking JNI exceptions
- ReleaseStringUTFChars() / Checking JNI exceptions
- ReleaseStringUTFChars() method / Time for action – building a native key/value store, What just happened?
- Resource class / Time for action – loading a texture in OpenGL ES
- ResourceDescriptor class / Time for action – embedding GNU STL in DroidBlaster
- ResourceDescriptor structure / Time for action – playing background music
- restitution
- about / Simulating physics with Box2D
- restitution property
- about / What just happened?
- run() method / Time for action – creating a basic native activity
- runWatcher() method / Time for action – running a background thread
S
- San Angeles
- about / What just happened?
- san angeles OpenGL demo
- scene management, Irrlicht
- screen rotation
- handling / Have a go hero – Handling screen rotation
- SD-Card access / Troubleshooting a development device
- segmentation fault
- sensor
- about / Collision modes
- Serialization module
- setAnimation() / Time for action – drawing a Ship sprite
- setColor() method / Time for action – saving a reference to an object in the Store
- setColorArray() / Time for action – saving a reference to an object in the Store
- SetIntArrayRegion() / Time for action – saving a reference to an object in the Store
- setInteger() / Time for action – building a native key/value store
- setjmp() / Time for action – loading a texture in OpenGL ES
- SetObjectArrayElement() / Time for action – saving a reference to an object in the Store, What just happened?
- SetStringUTFChars() method / Time for action – building a native key/value store
- setTarget() method / Time for action – simulating physics with Box2D
- setup() method / Time for action – rendring 3D graphics with Irrlicht
- shape
- shared libraries
- versus static libraries / Static versus shared
- ship.png sprite / Time for action – drawing a Ship sprite
- Ship class / Time for action – drawing a Ship sprite
- SIMD instruction set
- about / ARM, thumb, and NEON
- simple Java GUI / Working with Java primitives
- skinning
- about / Running a 3D engine on Android
- SLAndroidSImpleBufferQueueItf interface / Have a go hero – recording and playing a sound
- slCreateEngine() method
- SLDataLocator_AndroidSimpleBufferQueue / Have a go hero – recording and playing a sound
- SLDataLocator_AndroidSimpleBufferQueue() / Time for action – creating and playing a sound buffer queue
- SLDataSink structure / Time for action – playing background music
- SLDataSource structure / Time for action – playing background music
- SLObjectItf instance
- SLObjectItf object / More on OpenSL ES philosophy
- SLPlayItf interface / Time for action – playing background music
- SLRecordItf interface / Have a go hero – recording and playing a sound
- SLSeekItf interface / Time for action – playing background music
- SL_IID_PLAY interface / Time for action – playing background music
- SL_IID_SEEK interfaces / Time for action – playing background music
- software keyboard
- displaying / Have a go hero – displaying software keyboard
- SoudService.hpp / Time for action – creating and playing a sound buffer queue
- sound buffer queue
- sounds
- playing / Playing sounds
- sound buffer queue, creating / Time for action – creating and playing a sound buffer queue, What just happened?
- sound buffer queue, playing / Time for action – creating and playing a sound buffer queue, What just happened?
- recording / Recording sounds, Have a go hero – recording and playing a sound
- recorded buffer, playing / Have a go hero – recording and playing a sound
- spawn() method / Time for action – embedding GNU STL in DroidBlaster
- spin() method / Time for action – rendring 3D graphics with Irrlicht
- sprite
- drawing / Drawing a sprite
- Ship sprite, drawing / Time for action – drawing a Ship sprite
- sprite images
- editing / Drawing a sprite
- stack pointer
- about / More on crash dumps
- stack trace analysis
- about / Stack trace analysis
- Standard Template Library (STL)
- about / Developing with the Standard Template Library
- performances / STL performances
- start() method / Time for action – handling touch events
- startSoundPlayer() method / Time for action – creating and playing a sound buffer queue
- startWatcher() / Time for action – running a background thread
- startWatcher() method / Time for action – invoking Java code from a native thread
- static libraries
- versus shared libraries / Static versus shared
- status startSoundRecorder() / Have a go hero – recording and playing a sound
- stay awake option / What just happened?
- Step() method / Time for action – simulating physics with Box2D
- STLport
- stopBGM() / Time for action – playing background music
- stopBGM() method / Time for action – playing background music
- StoreActivity class / Time for action – building a native key/value store
- StoreListener interface / Time for action – invoking Java code from a native thread
- StreamLine
- about / Performance analysis
- stringToList () / Time for action – saving a reference to an object in the Store
- Subversion(SVN) / Have a go hero – towards continuous integration
- surfaceChanged() method / Time for action – decoding camera feed from native code
- System.loadLibrary() / Attaching and detaching threads
T
- terrain rendering
- about / Running a 3D engine on Android
- texel
- texture
- loading, in OpenGL ES / Time for action – loading a texture in OpenGL ES
- third-party libraries
- porting, to Android / Porting third-party libraries to Android
- threading
- Threading Building Block library
- ThrowNew() / Time for action – raising exceptions from the Store
- throwNotExistingException() / Time for action – raising exceptions from the Store
- thumb
- about / ARM, thumb, and NEON
- TID / More on crash dumps
- tiled map editor
- tile map
- rendering, vertex buffer objects used / Rendering a tile map with vertex buffer objects
- about / Rendering a tile map with vertex buffer objects
- tile-based background, drawing / Time for action – drawing a tile-based background, What just happened?
- tile map technique
- about / What just happened?
- timer
- implementing / Time for action – displaying raw graphics and implementing a timer
- about / More on time primitives
- toInt() method / Time for action – decoding camera feed from native code
- torques
- about / What just happened?
- touch events
- trackbal
- detecting / Detecting keyboard, D-Pad, and Trackball events
- trackball
- triple buffering / Time for action – initializing OpenGL ES
U
- UI thread
- about / UI thread
- Unix File Descriptor / Native thread
- unload() method / Time for action – loading a texture in OpenGL ES
- update() / Time for action – initializing OpenGL ES
- update() method / Time for action – handling keyboard, D-Pad, and trackball, natively, Time for action – embedding GNU STL in DroidBlaster, Time for action – simulating physics with Box2D, Time for action – rendring 3D graphics with Irrlicht
- userData / Time for action – handling activity events
- userData field / Time for action – simulating physics with Box2D
- UV coordinates
V
- -verbose flag / Time for action – debugging DroidBlaster
- Valgrind
- about / Performance analysis
- vertex
- Virtual Machine / Introducing Dalvik
- void playRecordedSound() / Have a go hero – recording and playing a sound
- void recordSound() / Have a go hero – recording and playing a sound
- VSync / Time for action – initializing OpenGL ES
W
- watcherCounter / Time for action – running a background thread
- window and time
- accessing, natively / Accessing window and time natively
- raw graphics, displaying / Time for action – displaying raw graphics and implementing a timer
- Windows
- setting up, for Android development / Setting up Windows, Time for action – preparing Windows for Android development, What just happened?
- Ant, installing / Time for action – preparing Windows for Android development
- Android development kit, installing / Installing Android development kits on Windows
- Android SDK, installing / Time for action – installing Android SDK and NDK on Windows
- Android NDK, installing / Time for action – installing Android SDK and NDK on Windows
- environment variables / Time for action – installing Android SDK and NDK on Windows
- Android device, setting up / Time for action – setting up your Android device on Windows and Mac OS X, What just happened?
X
- x86
- about / ARM, thumb, and NEON
- xml_document instance
Y
- YCbCr 420 SP (or NV21) format / Time for action – decoding camera feed from native code
Z
- Zygote
- Zygote process
- about / Introducing Dalvik