Getting started with Android development
Time for action – preparing Windows for Android development
Installing Android development kits on Windows
Time for action – installing Android SDK and NDK on Windows
Time for action – preparing Mac OS X for Android development
Installing Android development kits on Mac OS X
Time for action – installing Android SDK and NDK on Mac OS X
Time for action – preparing Ubuntu Linux for Android development
Installing Android development kits on Linux
Time for action – installing Android SDK and NDK on Ubuntu
Setting up the Eclipse development environment
Time for action – installing Eclipse
Time for action – creating an Android virtual device
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
Developing with an Android device on Linux
Time for action – setting up your Android device on Ubuntu
Troubleshooting a development device
Creating, Compiling, and Deploying Native Projects
Compiling and deploying NDK sample applications
Time for action – compiling and deploying the hellojni sample
Creating your first Android project using eclipse
Time for action – initiating a Java project
Time for action – calling C code from Java
Compiling native code from Eclipse
Time for action – creating a hybrid Java/C/C++ project
Interfacing Java and C/C++ with JNI
Time for action – building a native key/value store
Referencing Java objects from native code
Time for action – saving a reference to an object in the Store
Throwing exceptions from native code
Time for action – raising exceptions from the Store
Time for action – saving a reference to an object in the Store
Calling Java Back from Native Code
Synchronizing Java and native threads
Time for action – running a background thread
Calling Java back from native code
Time for action – invoking Java code from a native thread
Time for action – decoding camera feed from native code
Writing a Fully-native Application
Time for action – creating a basic native activity
Time for action – handling activity events
Accessing window and time natively
Time for action – displaying raw graphics and implementing a timer
Rendering Graphics with OpenGL ES
Time for action – initializing OpenGL ES
Reading PNG textures with the asset manager
Time for action – loading a texture in OpenGL ES
Time for action – drawing a Ship sprite
Rendering a tile map with vertex buffer objects
Time for action – drawing a tile-based background
Time for action – creating OpenSL ES engine and output
Time for action – playing background music
Time for action – creating and playing a sound buffer queue
Handling Input Devices and Sensors
Time for action – handling touch events
Detecting keyboard, D-Pad, and Trackball events
Time for action – handling keyboard, D-Pad, and trackball, natively
Time for action – turning your device into a joypad
Porting Existing Libraries to Android
Developing with the Standard Template Library
Time for action – embedding GNU STL in DroidBlaster
Time for action – embedding Boost in DroidBlaster
Porting third-party libraries to Android
Time for action – compiling Box2D and Irrlicht with the NDK
Time for action – simulating physics with Box2D
Running a 3D engine on Android
Time for action – rendring 3D graphics with Irrlicht
Time for action – debugging DroidBlaster
Time for action – analysing a crash dump