If one aspect of modern smartphones makes them stand out from other digital devices, it is surely the large array of sensors that can be found on-board. Android handsets can detect speed, motion, gravitational pull, and even the Earth's magnetic field.
Combined with sensitive touch-screens capable of reading complex gestures, these new forms of input device make smartphones among the most versatile and fun devices a programmer can get his or her hands on.
Android provides us with many handy tools for detecting user activity of this nature along with an intuitive series of callbacks and listeners.
The ability of a phone to know which way it is being held, and so orient its on-screen content accordingly, is something users take for granted these days. As developers we need to be able to control this process and this chapter begins by exploring how to manage configuration changes. Not only can we intercept changes in orientation using these configuration tools, but also events such...